我正在将 PyQt 与 Python3 一起使用。
我QTimer
的 s 没有调用他们被告知要连接的函数。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_())