sorry i lost my project when my system (computer) suddenly crashed. but same thing i made up and found this problem:
thsi is my myappmainwindow.cpp :-
#include "myappmainwindow.h"
#include "ui_myappmainwindow.h"
MyappMainWindow
::MyappMainWindow(QWidget *parent
) : ui(new Ui::MyappMainWindow)
{
ui->setupUi(this);
db->setHostName("oracle");
db->setDatabaseName("test");
db->setUserName("rahul");
db->setPassword("rahul");
db->setPort(3306);
}
MyappMainWindow::~MyappMainWindow()
{
db->close();
delete ui;
}
void MyappMainWindow::on_pushButtonLogin_clicked()
{
QString su
= ui
->lineEditUserName
->text
().
trimmed();
QString sp
= ui
->lineEditPassword
->text
().
trimmed();
dlg = new sqlqueymodelDialog();
if(db->open())
{
QString strquery
= "select * form artist";
dlg->model->setQuery(strquery);
dlg->tableiew->setModel(model);//here program crashes
dlg->show();
dlg->exec();
}
}
#include "myappmainwindow.h"
#include "ui_myappmainwindow.h"
MyappMainWindow::MyappMainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MyappMainWindow)
{
ui->setupUi(this);
db = new QSqlDatabase(QSqlDatabase::addDatabase("QMYSQL"));
db->setHostName("oracle");
db->setDatabaseName("test");
db->setUserName("rahul");
db->setPassword("rahul");
db->setPort(3306);
query = new QSqlQuery(*db);
}
MyappMainWindow::~MyappMainWindow()
{
db->close();
delete ui;
}
void MyappMainWindow::on_pushButtonLogin_clicked()
{
QString su = ui->lineEditUserName->text().trimmed();
QString sp = ui->lineEditPassword->text().trimmed();
dlg = new sqlqueymodelDialog();
if(db->open())
{
QString strquery = "select * form artist";
dlg->model = new QSqlQueryModel();
dlg->model->setQuery(strquery);
dlg->tableiew->setModel(model);//here program crashes
dlg->show();
dlg->exec();
}
}
To copy to clipboard, switch view to plain text mode
this is myappmainwindow.h
#ifndef MYAPPMAINWINDOW_H
#define MYAPPMAINWINDOW_H
#include <QMainWindow>
#include "sqlqueymodeldialog.h"
#include <QtSql>
#include <QMessageBox>
namespace Ui {
class MyappMainWindow;
}
{
Q_OBJECT
public:
explicit MyappMainWindow
(QWidget *parent
= 0);
~MyappMainWindow();
private slots:
void on_pushButtonLogin_clicked();
private:
Ui::MyappMainWindow *ui;
sqlqueymodelDialog * dlg;
//QSqlQueryModel *model;
};
#endif // MYAPPMAINWINDOW_H
#ifndef MYAPPMAINWINDOW_H
#define MYAPPMAINWINDOW_H
#include <QMainWindow>
#include "sqlqueymodeldialog.h"
#include <QtSql>
#include <QMessageBox>
namespace Ui {
class MyappMainWindow;
}
class MyappMainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MyappMainWindow(QWidget *parent = 0);
~MyappMainWindow();
private slots:
void on_pushButtonLogin_clicked();
private:
Ui::MyappMainWindow *ui;
sqlqueymodelDialog * dlg;
QSqlDatabase *db;
QSqlQuery *query;
//QSqlQueryModel *model;
};
#endif // MYAPPMAINWINDOW_H
To copy to clipboard, switch view to plain text mode
here is sqlquerymodel.h
#ifndef SQLQUEYMODELDIALOG_H
#define SQLQUEYMODELDIALOG_H
#include <QDialog>
#include <QtSql>
#include <QtWidgets>
namespace Ui {
class sqlqueymodelDialog;
}
class sqlqueymodelDialog
: public QDialog{
Q_OBJECT
public:
explicit sqlqueymodelDialog
(QWidget *parent
= 0);
~sqlqueymodelDialog();
private:
Ui::sqlqueymodelDialog *ui;
protected:
public:
// QTableView *tableView;
};
#endif // SQLQUEYMODELDIALOG_H
#ifndef SQLQUEYMODELDIALOG_H
#define SQLQUEYMODELDIALOG_H
#include <QDialog>
#include <QtSql>
#include <QtWidgets>
namespace Ui {
class sqlqueymodelDialog;
}
class sqlqueymodelDialog : public QDialog
{
Q_OBJECT
public:
explicit sqlqueymodelDialog(QWidget *parent = 0);
~sqlqueymodelDialog();
private:
Ui::sqlqueymodelDialog *ui;
protected:
QSqlQueryModel *model;
public:
// QTableView *tableView;
};
#endif // SQLQUEYMODELDIALOG_H
To copy to clipboard, switch view to plain text mode
now how can i access dlg(second dialog) gui component(for example tableviewloginform added using Qt Creator) from myappmainwoindow.cpp.
Bookmarks