【发布时间】:2013-07-10 22:21:12
【问题描述】:
我将 PyQt 与 Python3 一起使用。
我的QTimers 没有调用他们被告知要连接的函数。 isActive() 正在返回 True,interval() 工作正常。下面的代码(独立工作)演示了问题:线程已成功启动,但从未调用过timer_func() 函数。大部分代码都是样板 PyQT。据我所知,我按照文档使用它。它在一个带有事件循环的线程中。有什么想法吗?
import sys
from PyQt5 import QtCore, QtWidgets
class Thread(QtCore.QThread):
def __init__(self):
QtCore.QThread.__init__(self)
def run(self):
thread_func()
def thread_func():
print("Thread works")
timer = QtCore.QTimer()
timer.timeout.connect(timer_func)
timer.start(1000)
print(timer.remainingTime())
print(timer.isActive())
def timer_func():
print("Timer works")
app = QtWidgets.QApplication(sys.argv)
thread_instance = Thread()
thread_instance.start()
thread_instance.exec_()
sys.exit(app.exec_())
【问题讨论】:
标签: python multithreading qt python-3.x pyqt5