我正在嘗試第一次使用 Python 計時器以與 QT GUI 一起使用,但我創建的這個簡單示例并未觸發“update_time”事件。'start' 按預期列印。
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtCore import QTimer, QTime
def change_time():
timer = QTimer()
timer.timeout.connect(update_time)
timer.start(1000)
print("start")
def update_time():
time = QTime.currentTime()
#not executed
print("executed")
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
change_time()
sys.exit(app.exec_())
uj5u.com熱心網友回復:
除了@musicamante 的建議之外,您還可以在函式之外定義計時器,這樣如果您決定停止計時器,將來的呼叫change_time
可以重用相同的計時器并避免創建新的計時器。
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtCore import QTimer, QTime
def change_time(timer):
timer.timeout.connect(update_time)
timer.start(1000)
print("start")
def update_time():
time = QTime.currentTime()
#not executed
print("executed")
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
timer = QTimer()
change_time(timer)
sys.exit(app.exec_())
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/496977.html