这是一个问题的后续问题 - 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_())
我接近完全错了吗?这个项目的目的是尝试让生活变得更轻松,并腾出一些宝贵的时间,但目前它正在做相反的事情。
任何帮助或建议将不胜感激.... 提前致谢