带QtSq的Qt5 QTableView

2024-10-04 03:20:56 发布

您现在位置:Python中文网/ 问答频道 /正文

这是这个问题的后续问题-Python referencing database connection on another script 在设法获得连接并从数据库中提取数据之后,我读到使用QTableView(而不是QTableWidget)会更好地实现我正在尝试的目标。但是,我一直在努力让表使用QTable视图填充,而且几乎每个例子我都能找到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_())

我是不是完全错了?这个项目的目的是让生活变得简单一点,并腾出一些宝贵的时间,但目前却恰恰相反。在

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


Tags: fromimportselfviewuimodelsysopen