Python+Pyqt實(shí)現(xiàn)簡單GUI電子時(shí)鐘
本文實(shí)例為大家分享了Python+Pyqt實(shí)現(xiàn)簡單GUI電子時(shí)鐘的具體代碼,供大家參考,具體內(nèi)容如下
突發(fā)奇想想用GUI做一個(gè)簡單的電子時(shí)鐘界面,利用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)#設(shè)置定時(shí)器 1S觸發(fā)一次
self.timer.start()#啟動(dòng)定時(shí)器
self.timer.timeout.connect(self.update_time)
def initUI(self):
self.resize(400,200)
self.setWindowTitle("創(chuàng)意時(shí)鐘")###名稱
self.setWindowIcon(QIcon('xiaomayun.jpg'))#圖標(biāo)
#初始化 調(diào)色板
self.pl=QPalette()
self.pl.setColor(QPalette.Background,Qt.darkYellow)
self.setAutoFillBackground(True)
self.setPalette(self.pl)#設(shè)置頂層布局
self.lcd=QLCDNumber() #初始化lcd
self.lcd.setDigitCount(10)#設(shè)置數(shù)字個(gè)數(shù)
self.lcd.setMode(QLCDNumber.Dec)#數(shù)字十進(jìn)制
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)#設(shè)置組件在布局中間
self.setLayout(self.box_layout)#設(shè)置窗體布局
self.btn = QPushButton('Button', self)##創(chuàng)建按鈕 測試用
self.btn.setToolTip('This is a <b>QPushButton</b> 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)建鼠標(biāo)點(diǎn)擊事件"""
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)
# 第一個(gè)字符串的內(nèi)容被顯示在標(biāo)題欄上。第二個(gè)字符串是對(duì)話框上顯示的文本。第三個(gè)參數(shù)指定了顯示在對(duì)話框上的按鈕集合。最后一個(gè)參數(shù)是默認(rèn)選中的按鈕。
if reply == QMessageBox.Yes:
event.accept()
else:
event.ignore()
if __name__ == '__main__':
app=QApplication(sys.argv)
mt=MyTime()
app.exec_()
代碼演示如下:

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python數(shù)據(jù)容器dict(字典)的實(shí)現(xiàn)
本文主要介紹了Python數(shù)據(jù)容器dict(字典)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02
Python中字典的基礎(chǔ)知識(shí)歸納小結(jié)
這篇文章主要介紹了Python中字典的基礎(chǔ)知識(shí)歸納小結(jié),都是Python入門學(xué)習(xí)中的基本知識(shí),值得反復(fù)鞏固:)需要的朋友可以參考下2015-08-08
python調(diào)用百度語音識(shí)別實(shí)現(xiàn)大音頻文件語音識(shí)別功能
這篇文章主要為大家詳細(xì)介紹了python調(diào)用百度語音識(shí)別實(shí)現(xiàn)大音頻文件語音識(shí)別功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-08-08
Python+Matplotlib繪制高亮顯示餅圖的示例代碼
餅圖 (Pie Chart) 是一種圓形統(tǒng)計(jì)圖,被分割成片用于表示數(shù)值間的比例關(guān)系,本文為大家介紹了Matplotlib繪制高亮顯示的餅圖的函數(shù)源碼,需要的可以參考一下2023-06-06
Python 多繼承中的一個(gè)詭異現(xiàn)象 既是 Father又是grandfather
我們知道,在面向?qū)ο缶幊汤锩?,繼承是一個(gè)很重要的概念。子類可以使用父類的方法和屬性,接下來小編將用舉例的方式為大家講解Python 多繼承中的一個(gè)詭異現(xiàn)象 其即是爸爸又是爺爺?shù)钠孑猬F(xiàn)象,感興趣的小伙伴可以看下面文章具體了解2021-09-09

