普通按鈕(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_())