如何从数据库获取 PyQt4 的“实时”数据

2 投票
1 回答
609 浏览
提问于 2025-04-18 03:23

在我开始之前,我得说我只是一个中级的Python开发者,所以希望我的问题不会引来什么反对意见。

我正在用Python和PyQt4搭建一个医院系统,客户端通过API和基于Django的服务器进行通信。会有多个客户端同时和服务器交流。这个系统是基于角色的,因此客户端会根据不同的角色显示不同的界面,比如患者登记、分诊、医生桌面等。

我现在遇到的问题是如何处理患者的排队。每位医生都应该能在自己的桌面上查看排队的患者。在数据库中,我有一个叫做patient_queue的表来处理这些记录。现在显示表中的信息相对简单,但我该如何让任何新添加到patient_queue表中的记录自动出现在医生的排队列表中呢?我怎么才能确保医生能获取到数据库中的最新数据,而不需要做一些奇怪的事情,比如定期查询呢?

谢谢。

1 个回答

1

你可以使用pyqt中的QSqlTableModel,它可以作为树形视图或表格视图等小部件的数据源。首先,你需要创建一个数据库连接,比如使用sqlite:

db = QtSql.QSqlDatabase.addDatabase('QSQLITE')
db.setDatabaseName('database_name.db')
model = QtSql.QSqlTableModel()
model.setTable('database_table_name')
model.setEditStrategy(QtSql.QSqlTableModel.OnManualSubmit)
model.select()  

在这里,我使用了表格视图。你也可以使用其他视图,比如树形视图。

self.tableView = QtGui.QTableView()
self.tableView.setModel(self.model)

撰写回答