相關(guān)推薦
您可能對(duì)下面課程感興趣
Python上位機(jī)開(kāi)發(fā)教程

105小節(jié)已有4863人學(xué)過(guò)

Python上位機(jī)開(kāi)發(fā)QTimer 定時(shí)器控件
發(fā)布時(shí)間:2024-11-20 09:59 [ 我要自學(xué)網(wǎng)原創(chuàng) ] 發(fā)布人: 快樂(lè)小女 閱讀: 108

'''

構(gòu)造函數(shù):

QTimer(parent: QObject = None): 創(chuàng)建一個(gè) QTimer 對(duì)象,可指定父對(duì)象。
屬性:
interval: 獲取或設(shè)置定時(shí)器的時(shí)間間隔(以毫秒為單位)。
isActive: 檢查定時(shí)器是否正在運(yùn)行。
方法:
start(interval: int = 0): 啟動(dòng)定時(shí)器,可指定時(shí)間間隔(若未指定則使用之前設(shè)置的間隔)。
stop(): 停止定時(shí)器。
setInterval(interval: int): 設(shè)置定時(shí)器的時(shí)間間隔。
setSingleShot(bool)設(shè)置定時(shí)器是否僅觸發(fā)一次。
singleShot(): 執(zhí)行一次
信號(hào):
timeout: 當(dāng)定時(shí)器超時(shí)時(shí)發(fā)射此信號(hào)。
'''

from PySide6.QtWidgets import *
from PySide6.QtCore import *
from PySide6.QtGui import *


class Window(QWidget):
    def __init__(self):
        super().__init__()
        self.resize(600,400)
        self.setWindowTitle("QTimer定時(shí)器控件")

        self.label = QLabel(self)
        self.label.setGeometry(30,30,30,30)
        self.label.setStyleSheet("background-color:red")

        self.btn_start = QPushButton("啟動(dòng)",self)
        self.btn_stop = QPushButton("停止",self)

        self.btn_start.move(30,300)
        self.btn_stop.move(150,300)

        self.timer = QTimer(self)
        # self.timer.setInterval(100)
        self.timer.timeout.connect(self.on_timer_slot)
        # self.timer.setSingleShot(True)
        QTimer.singleShot(2000,self.label,self.change_label_color)

        self.num =0

        #slot
        self.btn_start.clicked.connect(self.on_btn_start_click)
        self.btn_stop.clicked.connect(self.on_btn_stop_click)

    def change_label_color(self):
        self.label.setStyleSheet("background-color:green")

    def on_btn_start_click(self):
        if self.timer.isActive():
            return
        self.timer.start(500)

    def on_btn_stop_click(self):
        if self.timer.isActive():
            self.timer.stop()

    def on_timer_slot(self):
        print("我被執(zhí)行了")
        self.label.move(30+self.num,30)
        self.num+=10
        if self.num>self.width():self.num =0








if __name__ == '__main__':
    import sys
    app = QApplication(sys.argv)
    win = Window()
    win.show()
    sys.exit(app.exec())

Python上位機(jī)開(kāi)發(fā)教程
我要自學(xué)網(wǎng)商城 ¥80 元
進(jìn)入購(gòu)買(mǎi)
文章評(píng)論
0 條評(píng)論 按熱度排序 按時(shí)間排序 /350
添加表情
遵守中華人民共和國(guó)的各項(xiàng)道德法規(guī),
承擔(dān)因您的行為而導(dǎo)致的法律責(zé)任,
本站有權(quán)保留或刪除有爭(zhēng)議評(píng)論。
參與本評(píng)論即表明您已經(jīng)閱讀并接受
上述條款。
V
特惠充值
聯(lián)系客服
APP下載
官方微信
返回頂部
相關(guān)推薦
您可能對(duì)下面課程感興趣
Python上位機(jī)開(kāi)發(fā)教程

105小節(jié)已有4863人學(xué)過(guò)

分類(lèi)選擇:
電腦辦公 平面設(shè)計(jì) 室內(nèi)設(shè)計(jì) 室外設(shè)計(jì) 機(jī)械設(shè)計(jì) 工業(yè)自動(dòng)化 影視動(dòng)畫(huà) 程序開(kāi)發(fā) 網(wǎng)頁(yè)設(shè)計(jì) 會(huì)計(jì)課程 興趣成長(zhǎng) AIGC