Python+Pyqt实现简单GUI电子时钟

yipeiwu_com5年前Python基础

本文实例为大家分享了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_()

代码演示如下:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python之时间和日期使用小结

Python之时间和日期使用小结

对于日期的操作可以说是比较常见的case了,日期与格式化字符串互转,日期与时间戳互转,日期的加减操作等,下面主要介绍下常见的需求场景如何实现 1. 基本包引入 主要需要引入时间和日期的处...

python中正则表达式的使用方法

本文主要关于python的正则表达式的符号与方法。 findall: 找寻所有匹配,返回所有组合的列表 search: 找寻第一个匹配并返回 sub: 替换符合规律的内容,并返回替换后的...

Python中文分词工具之结巴分词用法实例总结【经典案例】

Python中文分词工具之结巴分词用法实例总结【经典案例】

本文实例讲述了Python中文分词工具之结巴分词用法。分享给大家供大家参考,具体如下: 结巴分词工具的安装及基本用法,前面的文章《Python结巴中文分词工具使用过程中遇到的问题及解决方...

Python从ZabbixAPI获取信息及实现Zabbix-API 监控的方法

Python从ZabbixAPI获取信息及实现Zabbix-API 监控的方法

Python编写从ZabbixAPI获取信息 此脚本用Python3.6执行是OK的。 # -*- coding: utf-8 -*- import json import urll...

使用python和pygame绘制繁花曲线的方法

使用python和pygame绘制繁花曲线的方法

前段时间看了一期《最强大脑》,里面各种繁花曲线组合成了非常美丽的图形,一时心血来潮,想尝试自己用代码绘制繁花曲线,想怎么组合就怎么组合。 真实的繁花曲线使用一种称为繁花曲线规的小玩意绘制...