向工作线程PyQt发送值?

2024-04-23 15:55:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我只是在学习用PyQt编程GUI。我试图制作的GUI向Pyserial库发送一个Arduino值。我让它工作,但几次发送后,图形用户界面冻结。 我在某个地方读到线程可以解决这个问题,所以我尝试了这个方法,但是我不知道如何从主线程向工作线程发送一个值。例如,我想把123号发送给工作线程。我该怎么做?在


Tags: 方法编程地方gui图形用户界面线程主线pyqt
1条回答
网友
1楼 · 发布于 2024-04-23 15:55:39

初始化参数时,可以将参数传递给^{{cd1>},如下所示:

import sys
from PyQt4 import QtGui, QtCore

class FooThread(QtCore.QThread):

    def __init__(self, foo):
        super(FooThread, self).__init__()
        self.foo = foo

    def run(self):
        print self.foo    

def main():

        app = QtGui.QApplication(sys.argv) 
        foo_thread = FooThread('foo')
        foo_thread.start()
        foo_thread.finished.connect(QtGui.qApp.exit)
        sys.exit(app.exec_())


if __name__ == '__main__':
    main()

这个片段将创建PyQt应用程序,然后启动一个线程,该线程将输出传递给构造函数的参数(在上面的示例中,它打印^{{cd2>}),然后终止应用程序的执行。 希望它能帮到你!

相关问题 更多 >