PyQt5實(shí)現定時(shí)器事件
在PyQt5中,實(shí)現可以使用QTimer類(lèi)實(shí)現定時(shí)器事件,器事以下是實(shí)現一個(gè)簡(jiǎn)單的示例:
1、器事導入所需的實(shí)現庫:
from PyQヽ(′ー`)ノt5.QtWidgets import QApplication, QLabel, QVBox??Layout, QWidgetfrom PyQt5.QtCore import QTimerimpor(′?`)t sys
2、創(chuàng )建一個(gè)自定義的器事窗口類(lèi),繼(′?`)承自QWidget:
class MyWindow(QWidget)??(◎_◎;): def __init__(self): super().__init__() self.initUI() def initUI(self): # 設置窗(???)口標題和大小 self.setWindowTitle('定時(shí)(shi)器事件示例') self.resize(400,實(shí)現 300) # 創(chuàng )建一個(gè)標簽用于顯示當前時(shí)間 self.??label = QLabe(′?_?`)l('當前時(shí)間:', self) self.label.move(10, 10) # 創(chuàng )建一個(gè)垂直布局并設置主窗口的布局為該布局 la( ?▽?)yout = QVBoxLヽ(′ー`)ノayout() layout.addWidget(self.label) self.setLayout(layout)3、在MyWindow類(lèi)的器事構造ヽ(′ー`)ノ函數中,初始化定時(shí)器并設置回調函數:
self.timer(′?_?`) = QTimer() self.timer.timeout.connect(self.updat(′ω`*)e_time)
4、實(shí)現定義一個(gè)回調函數update_time,器事用(yong)于更新(xin)標簽的實(shí)現文本:
def update_time(self): current_time = QTime.currentTime().toString() + ':' + QTime.cur??rentTime().minute(??).toString??() + ':' + QTime.cur??rentTime().second().toString() self.label.setText('當前時(shí)間: ' + current_t??ime)5、在MyWindow類(lèi)的器事構造函數中,啟動(dòng)定時(shí)器??:
self.timer.(╬?益?)start(1000) # 每隔1000毫秒(1秒)觸發(fā)一次定時(shí)器事件
6、實(shí)現創(chuàng )建一個(gè)應用程序實(shí)例并運行:
if __name__ == '_??_main__': app = QApplication(sys.argv) wi???ndow = My??Window() window.show() sys.exit(app.exec??_())將以上代碼保存為一個(gè).py文件,器事然后運行它,實(shí)現你將看到一個(gè)窗口,其中包含一個(gè)標簽,該標簽每秒更新一次顯示當前時(shí)間。
