本文實例為大家分享了Python+Pyqt實現(xiàn)簡單GUI電子時鐘的具體代碼,供大家參考,具體內(nèi)容如下
突發(fā)奇想想用GUI做一個簡單的電子時鐘界面,利用pyqt模塊也很方便,代碼如下:
from PyQt5.QtGui import * from PyQt5.QtCore import * from PyQt5.QtWidgets import QWidget,QApplication,QLCDNumber,QVBoxLayout,QMessageBox,QPushButton import sys import time class MyTime(QWidget): def __init__(self): super().__init__() self.initUI() self.init_timer() #UI界面搭建 def update_time(self): self.lcd.display(time.strftime('%X', time.localtime())) def init_timer(self): self.timer=QTimer() self.timer.setInterval(1000)#設置定時器 1S觸發(fā)一次 self.timer.start()#啟動定時器 self.timer.timeout.connect(self.update_time) def initUI(self): self.resize(400,200) self.setWindowTitle("創(chuàng)意時鐘")###名稱 self.setWindowIcon(QIcon('xiaomayun.jpg'))#圖標 #初始化 調(diào)色板 self.pl=QPalette() self.pl.setColor(QPalette.Background,Qt.darkYellow) self.setAutoFillBackground(True) self.setPalette(self.pl)#設置頂層布局 self.lcd=QLCDNumber() #初始化lcd self.lcd.setDigitCount(10)#設置數(shù)字個數(shù) self.lcd.setMode(QLCDNumber.Dec)#數(shù)字十進制 self.lcd.setSegmentStyle(QLCDNumber.Flat)#平面模式 self.lcd.display(time.strftime('%X',time.localtime())) ##初始化盒子布局 self.box_layout=QVBoxLayout() self.box_layout.addWidget(self.lcd)#添加LCD組件 self.box_layout.setAlignment(Qt.AlignCenter)#設置組件在布局中間 self.setLayout(self.box_layout)#設置窗體布局 self.btn = QPushButton('Button', self)##創(chuàng)建按鈕 測試用 self.btn.setToolTip('This is a QPushButton widget') self.btn.resize(self.btn.sizeHint()) self.btn.move(50, 50) self.btn.clicked.connect(self.on_click) self.box_layout.addWidget(self.btn) # btn.move(50, 50) self.qbtn = QPushButton('Quit', self) self.qbtn.clicked.connect(QCoreApplication.instance().quit) self.qbtn.resize(self.qbtn.sizeHint()) self.qbtn.move(300, 150) self.show() """創(chuàng)建鼠標點擊事件""" def on_click(self): print("PyQt5 button click") def closeEvent(self, event): reply = QMessageBox.question(self, 'Message', "Are you sure to quit?", QMessageBox.Yes | QMessageBox.No, QMessageBox.No) # 第一個字符串的內(nèi)容被顯示在標題欄上。第二個字符串是對話框上顯示的文本。第三個參數(shù)指定了顯示在對話框上的按鈕集合。最后一個參數(shù)是默認選中的按鈕。 if reply == QMessageBox.Yes: event.accept() else: event.ignore() if __name__ == '__main__': app=QApplication(sys.argv) mt=MyTime() app.exec_()
代碼演示如下:
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
更多文章、技術交流、商務合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
