我正在开发一个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是unexpected键入'NoneType' QTimer。singleShot(int, callable):参数2有非预期类型'NoneType'
问题是什么,或者整合这个循环的最佳方法是什么?
传递可调用对象,而不是调用它的结果:
QTimer.singleShot(60000, self.RefreshData)