Python+Pyqt制作简单的GUI电子时钟

突发奇想想用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触发一次
        self.timer.start()#启动定时器
        self.timer.timeout.connect(self.update_time)

    def  initUI(self):
        self.resize(400,200)
        self.setWindowTitle("创意时钟")###名称
        self.setWindowIcon(QIcon('xiaomayun.jpg'))#图标

        #初始化  调色板
        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)#设置数字个数
        self.lcd.setMode(QLCDNumber.Dec)#数字十进制
        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)##创建按钮  测试用
        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()


    """创建鼠标点击事件"""
    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)
        # 第一个字符串的内容被显示在标题栏上。第二个字符串是对话框上显示的文本。第三个参数指定了显示在对话框上的按钮集合。最后一个参数是默认选中的按钮。
        if reply == QMessageBox.Yes:
            event.accept()
        else:
            event.ignore()


if __name__ == '__main__':
    app=QApplication(sys.argv)
    mt=MyTime()
    app.exec_()

代码演示如下:
在这里插入图片描述

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值