我想构建一个显示信息的GUI,每10-100毫秒更新一次。如何实现每秒刷新GUI一次以上?我还尝试了手动QWidget.update((和QTimer.setInterval(100(,但没有效果。有没有更好的解决方案?
import sys
from python_qt_binding.QtWidgets import QWidget,QPushButton,QApplication,QListWidget,QGridLayout,QLabel
from python_qt_binding.QtCore import Qt, QTimer,QDateTime
class RobolabWidget(QWidget):
def __init__(self,parent=None):
super(RobolabWidget, self).__init__(parent)
self.setWindowTitle('QTimer example')
self.listFile=QListWidget()
self.label=QLabel('Label')
self.startBtn=QPushButton('Start')
self.endBtn=QPushButton('Stop')
layout=QGridLayout()
self.timer=QTimer()
self.timer.setTimerType(Qt.PreciseTimer)
self.timer.timeout.connect(self.showTime)
layout.addWidget(self.label,0,0,1,2)
self.timer.start(100)
self.setLayout(layout)
def showTime(self):
time=QDateTime.currentDateTime()
timeDisplay=time.toString('hh:mm:ss:ms')
self.label.setText(timeDisplay)
我发现了问题。QDateTime.currentDateTime((的分辨率只有秒。
代替QDateTime,我只使用对我有效的python日期时间函数