PyQt5 QPushButton按鈕


普通按鈕(QPushButton)

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton
from PyQt5.QtCore import QTimer

class Example(QWidget):
    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):
        self.resize(250, 155)
        self.setWindowTitle('title')
        self.count = 30

        self.button = QPushButton('獲取驗證碼', self)
        self.button.setGeometry(50, 50, 100, 20)
        self.button.clicked.connect(self.acquire)

        self.time = QTimer(self)
        # 設置超時時間,默認值為0,單位毫秒
        self.time.setInterval(1000)
        self.time.timeout.connect(self.refresh)

        self.show()

    def acquire(self):
        # 判斷按鈕是否被禁用
        if self.button.isEnabled():
            self.time.start()
            self.button.setEnabled(False)
    
    def refresh(self):
        if self.count > 0:
            self.button.setText(str(self.count) + '秒后重新獲取')
            self.count -= 1
        else:
            self.time.stop()
            self.button.setEnabled(True)
            self.button.setText('獲取驗證碼')
            self.count = 30

if __name__ == "__main__":
    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM