Python 是否将值发送到工作线程PyQt?
我正在学习用PyQt编程GUI。我正在尝试制作的GUI通过Pyserial库发送一个Arduino值。我让它工作,但几次发送后GUI冻结。Python 是否将值发送到工作线程PyQt?,python,multithreading,arduino,pyqt,pyserial,Python,Multithreading,Arduino,Pyqt,Pyserial,我正在学习用PyQt编程GUI。我正在尝试制作的GUI通过Pyserial库发送一个Arduino值。我让它工作,但几次发送后GUI冻结。 我在某个地方读到线程可以解决这个问题,所以我尝试了这个方法,但我不知道如何从主线程向工作线程发送一个值。例如,我想将数字123也发送到工作线程。如何执行此操作?初始化时,可以将参数传递给QThread,如下所示: import sys from PyQt4 import QtGui, QtCore class FooThread(QtCore.QThrea
我在某个地方读到线程可以解决这个问题,所以我尝试了这个方法,但我不知道如何从主线程向工作线程发送一个值。例如,我想将数字123也发送到工作线程。如何执行此操作?初始化时,可以将参数传递给
QThread
,如下所示:
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应用程序,然后启动一个线程,打印出传递给其构造函数的参数(在上面的示例中,它打印foo
),然后终止应用程序的执行。
希望有帮助 请添加一段代码以便更好地理解。嘿,这个方法确实有效。我的Arduino代码也有问题。仍然想知道是否有一种方法可以让您不必每次发送值时都打开线程。谢谢@事实上,如果你愿意,我想我也可以为你推荐一个解决方案。那太好了@Konnenhom先生,看看这个:。希望这就是你要找的。这正是我要找的!谢谢你的帮助!