问题描述
|
我已经在Qt Designer中创建了一个用户界面,现在我想显示数据。我想使用多重继承方法,这是用户界面的代码。
/********************************************************************************
** Form generated from reading UI file \'prototypejI3444.ui\'
**
** Created: Mon May 30 10:04:01 2011
** by: Qt User Interface Compiler version 4.7.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
#ifndef PROTOTYPEJI3444_H
#define PROTOTYPEJI3444_H
#include <QtCore/QVariant>
#include <QtGui/QAction>
#include <QtGui/QApplication>
#include <QtGui/QButtonGroup>
#include <QtGui/qgridLayout>
#include <QtGui/QHeaderView>
#include <QtGui/QLabel>
#include <QtGui/QLineEdit>
#include <QtGui/QMainWindow>
#include <QtGui/QMenuBar>
#include <QtGui/QPushButton>
#include <QtGui/QStatusBar>
#include <QtGui/QTableView>
#include <QtGui/QVBoxLayout>
#include <QtGui/QWidget>
QT_BEGIN_NAMESPACE
class Ui_MainWindow
{
public:
QWidget *centralwidget;
qgridLayout *gridLayout;
QVBoxLayout *verticalLayout_2;
QLabel *label;
QVBoxLayout *verticalLayout_3;
QLineEdit *lineEdit;
QVBoxLayout *verticalLayout_4;
QLabel *label_2;
QVBoxLayout *verticalLayout_5;
QLineEdit *lineEdit_2;
QVBoxLayout *verticalLayout_6;
QLabel *label_3;
QVBoxLayout *verticalLayout_7;
QLineEdit *lineEdit_3;
QTableView *tableView;
QPushButton *pushButton_2;
QPushButton *pushButton_3;
QPushButton *pushButton_4;
QPushButton *pushButton_5;
QPushButton *pushButton_6;
QPushButton *pushButton;
QMenuBar *menubar;
QStatusBar *statusbar;
void setupUi(QMainWindow *MainWindow)
{
if (MainWindow->objectName().isEmpty())
MainWindow->setobjectName(QString::fromUtf8(\"MainWindow\"));
MainWindow->resize(800,600);
centralwidget = new QWidget(MainWindow);
centralwidget->setobjectName(QString::fromUtf8(\"centralwidget\"));
gridLayout = new qgridLayout(centralwidget);
gridLayout->setobjectName(QString::fromUtf8(\"gridLayout\"));
verticalLayout_2 = new QVBoxLayout();
verticalLayout_2->setobjectName(QString::fromUtf8(\"verticalLayout_2\"));
label = new QLabel(centralwidget);
label->setobjectName(QString::fromUtf8(\"label\"));
verticalLayout_2->addWidget(label);
gridLayout->addLayout(verticalLayout_2,1,1);
verticalLayout_3 = new QVBoxLayout();
verticalLayout_3->setobjectName(QString::fromUtf8(\"verticalLayout_3\"));
lineEdit = new QLineEdit(centralwidget);
lineEdit->setobjectName(QString::fromUtf8(\"lineEdit\"));
verticalLayout_3->addWidget(lineEdit);
gridLayout->addLayout(verticalLayout_3,1);
verticalLayout_4 = new QVBoxLayout();
verticalLayout_4->setobjectName(QString::fromUtf8(\"verticalLayout_4\"));
label_2 = new QLabel(centralwidget);
label_2->setobjectName(QString::fromUtf8(\"label_2\"));
verticalLayout_4->addWidget(label_2);
gridLayout->addLayout(verticalLayout_4,2,1);
verticalLayout_5 = new QVBoxLayout();
verticalLayout_5->setobjectName(QString::fromUtf8(\"verticalLayout_5\"));
lineEdit_2 = new QLineEdit(centralwidget);
lineEdit_2->setobjectName(QString::fromUtf8(\"lineEdit_2\"));
verticalLayout_5->addWidget(lineEdit_2);
gridLayout->addLayout(verticalLayout_5,1);
verticalLayout_6 = new QVBoxLayout();
verticalLayout_6->setobjectName(QString::fromUtf8(\"verticalLayout_6\"));
label_3 = new QLabel(centralwidget);
label_3->setobjectName(QString::fromUtf8(\"label_3\"));
verticalLayout_6->addWidget(label_3);
gridLayout->addLayout(verticalLayout_6,3,1);
verticalLayout_7 = new QVBoxLayout();
verticalLayout_7->setobjectName(QString::fromUtf8(\"verticalLayout_7\"));
lineEdit_3 = new QLineEdit(centralwidget);
lineEdit_3->setobjectName(QString::fromUtf8(\"lineEdit_3\"));
verticalLayout_7->addWidget(lineEdit_3);
gridLayout->addLayout(verticalLayout_7,1);
tableView = new QTableView(centralwidget);
tableView->setobjectName(QString::fromUtf8(\"tableView\"));
gridLayout->addWidget(tableView,2);
pushButton_2 = new QPushButton(centralwidget);
pushButton_2->setobjectName(QString::fromUtf8(\"pushButton_2\"));
gridLayout->addWidget(pushButton_2,1);
pushButton_3 = new QPushButton(centralwidget);
pushButton_3->setobjectName(QString::fromUtf8(\"pushButton_3\"));
gridLayout->addWidget(pushButton_3,1);
pushButton_4 = new QPushButton(centralwidget);
pushButton_4->setobjectName(QString::fromUtf8(\"pushButton_4\"));
gridLayout->addWidget(pushButton_4,1);
pushButton_5 = new QPushButton(centralwidget);
pushButton_5->setobjectName(QString::fromUtf8(\"pushButton_5\"));
gridLayout->addWidget(pushButton_5,1);
pushButton_6 = new QPushButton(centralwidget);
pushButton_6->setobjectName(QString::fromUtf8(\"pushButton_6\"));
gridLayout->addWidget(pushButton_6,1);
pushButton = new QPushButton(centralwidget);
pushButton->setobjectName(QString::fromUtf8(\"pushButton\"));
gridLayout->addWidget(pushButton,1);
MainWindow->setCentralWidget(centralwidget);
tableView->raise();
pushButton_2->raise();
pushButton_3->raise();
pushButton_4->raise();
pushButton_5->raise();
pushButton_6->raise();
pushButton->raise();
menubar = new QMenuBar(MainWindow);
menubar->setobjectName(QString::fromUtf8(\"menubar\"));
menubar->setGeometry(QRect(0,800,18));
MainWindow->setMenuBar(menubar);
statusbar = new QStatusBar(MainWindow);
statusbar->setobjectName(QString::fromUtf8(\"statusbar\"));
MainWindow->setStatusBar(statusbar);
retranslateUi(MainWindow);
QMetaObject::connectSlotsByName(MainWindow);
} // setupUi
void retranslateUi(QMainWindow *MainWindow)
{
MainWindow->setwindowTitle(QApplication::translate(\"MainWindow\",\"MainWindow\",QApplication::UnicodeUTF8));
label->setText(QApplication::translate(\"MainWindow\",\"FirstName:\",QApplication::UnicodeUTF8));
label_2->setText(QApplication::translate(\"MainWindow\",\"SecondName:\",QApplication::UnicodeUTF8));
label_3->setText(QApplication::translate(\"MainWindow\",\"City:\",QApplication::UnicodeUTF8));
pushButton_2->setText(QApplication::translate(\"MainWindow\",\"New\",QApplication::UnicodeUTF8));
pushButton_3->setText(QApplication::translate(\"MainWindow\",\"Delete\",QApplication::UnicodeUTF8));
pushButton_4->setText(QApplication::translate(\"MainWindow\",\"Next\",QApplication::UnicodeUTF8));
pushButton_5->setText(QApplication::translate(\"MainWindow\",\"PrevIoUs\",QApplication::UnicodeUTF8));
pushButton_6->setText(QApplication::translate(\"MainWindow\",\"First\",QApplication::UnicodeUTF8));
pushButton->setText(QApplication::translate(\"MainWindow\",\"Save\",QApplication::UnicodeUTF8));
} // retranslateUi
};
namespace Ui {
class MainWindow: public Ui_MainWindow {};
} // namespace Ui
QT_END_NAMESPACE
#endif // PROTOTYPEJI3444_H
在多重继承方法中,有一个.h文件及其对应的.cpp文件。我希望有人指导我在哪里建立与sqlite数据库的连接(无论是在.cpp文件中还是在.h文件中)以及如何进行通信我已经显示了使用UI文件显示在Qtableview上来自数据库的数据。
谢谢。
解决方法
实例化QSqlTableModel,使用setModel将其与视图关联,然后将适当的表属性初始化为模型。在init中进行所有操作。