QTimer常用的方法:
常用的方法:start(milliseconds):啟動或重新啟動定時器,時間間隔為毫秒,如果定時器已經運行,他將停止並重新啟動,如果singleSlot信號為真,定時器僅被激活一次
stop():停止定時器
常用的信號:singleshot():在給定的時間間隔后調用一個槽函數時發射此信號
timeout():當定時器超時時發射此信號
該實例主要驗證定時器信號在時間間隔時會不會影響程序其他代碼的運行

from PyQt5.Qt import * from PyQt5.QtCore import QTimer import sys class Window(QWidget): def __init__(self): super(Window, self).__init__() self.setWindowTitle('定時器') self.resize(500,500) self.move(500,500) self.setup_ui() def setup_ui(self): # 步驟1:設定一個定時器 self.timer = QTimer(self) # 步驟2:將定時器信號和槽函數連接起來 self.timer.timeout.connect(self.cao) # 步驟3:設置定時時間,單位毫秒,間隔設定時間運行程序 self.timer.start(1000) # 使用按鈕信號的目的是驗證當定時器運行時,會不會影響其他操作 # 經驗證不會影響按鈕信號的發送和對應的按鈕槽函數運行 self.btn=QPushButton(self) self.btn.setText('按鈕') self.btn.resize(50,50) self.btn.move(50,50) self.btn.clicked.connect(self.cao1) def cao(self): print(1) def cao1(self): print(2) if __name__ == '__main__': app = QApplication(sys.argv) window = Window() window.show() sys.exit(app.exec_())
小結
1. QTimer定時器會根據設定的時間不斷發出timeout信號並調用連接的槽函數,通過start(int)方法來設置時間並啟動定時器,stop()方法用於停止定時器;
2. 通過isActive()方法來判斷定時器是否被激活,setSingleShot()方法可以在觸發timeout信號后只調用一次槽函數;