Qt5 - 使用QtSql的QTableView

时间:2017-09-14 14:58:20

标签: python mysql pyqt qtableview

这是一个问题的后续问题 - Python referencing database connection on another script 在设法获取我的连接并从数据库中提取数据后,我读到了使用QTableView,而不是QTableWidget对我想要实现的目标更好。但是,我一直在努力使用QTableView来填充表格,几乎我能找到的每个例子都是用C ++而不是Python,并且使用了很多不同的术语,它就像一个雷区对我来说是难以理解的信息。我一直在尝试遵循各种不同的教程和示例,现在我收到一条错误消息,说QSqlQueryModel没有定义,我认为它是作为Qt的一部分预先安装的?

目前,我的代码如下:

from PyQt5 import QtCore, QtGui, QtWidgets, QtSql
import sys
from ViewClientsTableView import Ui_ViewClients
from OpenConn import open_conn, close_conn

class ViewClientsWindow(QtWidgets.QDialog, Ui_ViewClients):
    def __init__(self):
        super(ViewClientsWindow, self).__init__()
        self._new_window = None
        self.setupUi(self)
        self.data_load()

    def data_load(self):
        server, db = open_conn()
        model =  QSqlQueryModel()
        model.setQuery("SELECT * FROM Clients")
        model.setHeaderData(0, Qt.Horizontal, tr("ID"))
        model.setHeaderData(1, Qt.Horizontal, tr("Name"))
        view =  QTableView()
        view.setModel(model)
        view.show()
        close_conn(server, db)



if __name__ == '__main__':
    app = QtWidgets.QApplication(sys.argv)

    gui = ViewClientsWindow()
    gui.show()
    sys.exit(app.exec_())

我接近完全错了吗?这个项目的目的是尝试让生活变得更轻松,并腾出一些宝贵的时间,但目前它正在做相反的事情。

任何帮助或建议将不胜感激.... 提前致谢

0 个答案:

没有答案