Подскажите как вызвать слот из класса class MainWindow1, после нажатия кнопки в классе class Addnomenklatura.
#ifndef MAINWINDOW1_H
#define MAINWINDOW1_H
#include <QtSql/QSqlTableModel>
#include <QMainWindow>
#include "mainwindow.h"
#include "ui_mainwindow.h"
namespace Ui {
class MainWindow1;
}
class MainWindow1 : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow1(QWidget *parent = 0);
~MainWindow1();
private slots:
void on_pushButton_clicked();
void prostoSlot();
void on_pushButton_2_clicked();
private:
Ui::MainWindow1 *ui;
QSqlQueryModel *nomenclatura;
};
#include "mainwindow1.h"
#include "ui_mainwindow1.h"
#include "Addnomenklatura.h"
#include "ui_Addnomenklatura.h"
#include <QtSql/QSqlTableModel>
#include <QTableView>
#include <QtSql/QSqlError>
#include <QtSql/QSqlRecord>
#include <QMessageBox>
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include<QSqlQuery>
MainWindow1::MainWindow1(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow1)
{
ui->setupUi(this);
QSqlQueryModel *nomenclatura = new QSqlQueryModel;
QSqlQuery query;
query.exec("SELECT * FROM nomenklatura");
nomenclatura->setQuery(query);
ui->tableView->setModel(nomenclatura);
}
MainWindow1::~MainWindow1()
{
delete ui;
}
void MainWindow1::on_pushButton_clicked()
{
Addnomenklatura *n1 = new Addnomenklatura;
n1->show();
}
void MainWindow1::on_pushButton_2_clicked()
{
}
void MainWindow1:: prostoSlot() Этот слот нужно вызвать!!!!!
{
QMessageBox::information(NULL,QObject::tr("Информация"),tr("Слот вызван"));
QSqlQueryModel *nomenclatura = new QSqlQueryModel;
QSqlQuery query;
query.exec("SELECT * FROM nomenklatura");
nomenclatura->setQuery(query);
ui->tableView->setModel(nomenclatura);
}
#ifndef ADDNOMENKLATURA_H
#define ADDNOMENKLATURA_H
#include <QtSql/QSqlTableModel>
#include <QMainWindow>
#include "mainwindow1.h"
#include "ui_mainwindow1.h"
#include "mainwindow.h"
#include "ui_mainwindow.h"
namespace Ui {
class Addnomenklatura;
}
class Addnomenklatura : public QMainWindow
{
Q_OBJECT
public:
explicit Addnomenklatura(QWidget *parent = 0);
~Addnomenklatura();
private slots:
void on_pushButton_clicked();
void on_pushButton_2_clicked();
private:
Ui::Addnomenklatura *ui;
};
#endif // ADDNOMENKLATURA_H
#include "addnomenklatura.h"
#include "ui_addnomenklatura.h"
#include <QtSql/QSqlRecord>
#include "mainwindow1.h"
#include "ui_mainwindow1.h"
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include<QSqlQuery>
Addnomenklatura::Addnomenklatura(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::Addnomenklatura)
{
ui->setupUi(this);
connect(ui->pushButton,SIGNAL(clicked()),?,SLOT(prostoSlot())); думал как соединить сигнал со слотом... но не пришел к правильному варианту
}
Addnomenklatura::~Addnomenklatura()
{
delete ui;
}
void Addnomenklatura::on_pushButton_clicked() После нажатия этой кнопки должен вызваться слот!!!
{
QSqlQuery query;
query.prepare("INSERT INTO nomenklatura (id_n,kod_pozicii,name_pozicii,cena) VALUES ( :id_n,:kod_pozicii,:name_pozicii,:cena)");
query.bindValue(":id_n", ui->lineEdit->text());
query.bindValue(":kod_pozicii", ui->lineEdit->text());
query.bindValue(":name_pozicii", ui->lineEdit->text());
query.bindValue(":cena", ui->lineEdit->text());
query.exec();
this->close();
}
void Addnomenklatura::on_pushButton_2_clicked()
{
this->close();
}