我有一个PyQT4
应用程序,它从本地sqlite3
数据库读取信息并使用QTableWidget
显示数据。
sqlite3
上存储的数据会不时发生变化。所以,我想每1分钟更新一次Table Widget。
为了简化问题,我们假设我已经拥有一个名为' 刷新()'的功能。这将刷新我的表格小部件中的内容。
如何使此功能' 刷新()' 每1分钟执行一次?我使用Tkinter
在time.after()
中完成了此操作。我不知道如何在PyQt
中执行此操作。
答案 0 :(得分: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)