Python PyQt4 每分钟更新一次小部件数据
我有一个用 PyQT4
写的应用程序,它可以从本地的 sqlite3
数据库读取信息,并通过 QTableWidget
显示这些数据。
存储在 sqlite3
中的数据会不时发生变化。所以,我想每隔1分钟更新一次我的表格小部件。
为了简化问题,我们假设我已经有一个叫做 'Refresh()' 的函数,它可以刷新我的表格小部件的内容。
我该如何让这个 'Refresh()' 函数每1分钟执行一次呢?我在 Tkinter
中是通过 time.after()
来做到的,但我不知道在 PyQt
中该怎么做。
1 个回答
5
你的函数可能应该叫做paintEvent。然后像这样创建一个QTimer:
self.timer = QtCore.QTimer()
self.timer.timeout.connect(self.update)
self.timer.start(60000) #trigger every minute.
除非你有某种原因需要在后台更新一些东西,而不是在前端(换句话说,这个函数不是用来绘图的)。否则,它几乎可以毫无疑问地叫做paintEvent。然后这样做:
self.timer.timeout.connect(self.Refresh)