我使用QtDesigner创建了一个pyqt5gui并将其转换为Python。我正计划更新并显示从树莓Pi读取的传感器值。因为GUI在一个循环中,所以我无法从循环之外更新数据。目前,我使用下面的代码,在这里我使用QTimer小部件,该小部件每隔给定的时间间隔执行该函数。这个解决方案是否合适?还有什么方法可以完成这项任务?在
from PyQt5 import QtCore, QtGui, QtWidgets
from uimainwindow import Ui_MainWindow
class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
numTest=0;
def __init__(self):
QtWidgets.QMainWindow.__init__(self)
self.setupUi(self)
QtCore.QTimer.singleShot(1000, self.getSensorValue)
def getSensorValue(self):
print(self.numTest)
self.numTest=self.numTest+1
QtCore.QTimer.singleShot(1000, self.getSensorValue)
if __name__=="__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
w=MainWindow()
w.show()
sys.exit(app.exec_())
要使用定期调用成员函数的
QTimer
,请执行以下操作:生成
QTimer
的成员变量。{cd1>打算延迟}。
将
getSensorValue()
作为信号处理程序连接到QTimer.timeout()
。开始
QTimer
成员。演示
test-QTimer.py
:在Windows 10上的cygwin中测试:
相关问题 更多 >
编程相关推荐