如何在pyqt中集成定时循环

时间:2013-01-02 11:01:45

标签: python user-interface pyqt

我正在研究pyqt-gui,它应该可以在每个选定的时间刷新数据(例如每2分钟)。在这个循环中,gui应该能够响应事件等。

代码如下所示:

from PyQt4.QtCore import *
from PyQt4.QtGui import *
from PyQt4.uic import *
class TeleModul (QMainWindow):
    def __init__(self, *args):
        QWidget.__init__(self, *args)
        loadUi ("telemodul.ui",self)
        .....
    def on_ButtonSuchen_clicked (self):
        QTimer.singleShot(60000, self.RefreshData())
    def RefreshData(self):
        ...do something ...

点击ButtonSuchen会发出错误:

  

TypeError:参数与任何重载调用都不匹配:
  QTimer.singleShot(int,QObject,SLOT()):参数2有意外   类型'NoneType'QTimer.singleShot(int,callable):参数2具有   意外类型'NoneType'

什么是错误或什么是整合这个循环的最佳方式?

1 个答案:

答案 0 :(得分:4)

传递callable,而不是调用它的结果:

QTimer.singleShot(60000, self.RefreshData)