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


Posted in Python onFebruary 22, 2021

本文实例为大家分享了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+Pyqt实现简单GUI电子时钟

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python调用cmd复制文件代码分享
Dec 27 Python
跟老齐学Python之有容乃大的list(3)
Sep 15 Python
python中assert用法实例分析
Apr 30 Python
python获取当前运行函数名称的方法实例代码
Apr 06 Python
mac安装scrapy并创建项目的实例讲解
Jun 13 Python
Python实现压缩文件夹与解压缩zip文件的方法
Sep 01 Python
启动Atom并运行python文件的步骤
Nov 09 Python
Linux 修改Python命令的方法示例
Dec 03 Python
浅谈Python大神都是这样处理XML文件的
May 31 Python
Python实现的企业粉丝抽奖功能示例
Jul 26 Python
基于Python词云分析政府工作报告关键词
Jun 02 Python
python3排序的实例方法
Oct 20 Python
pycharm修改文件的默认打开方式的步骤
Jul 29 #Python
Python Django Vue 项目创建过程详解
Jul 29 #Python
python cumsum函数的具体使用
Jul 29 #Python
python利用re,bs4,requests模块获取股票数据
Jul 29 #Python
实例详解Python装饰器与闭包
Jul 29 #Python
对于Python深浅拷贝的理解
Jul 29 #Python
PyCharm中代码字体大小调整方法
Jul 29 #Python
You might like
php radio 单选框获取与保持值的实现代码
2010/05/15 PHP
php中get_headers函数的作用及用法的详细介绍
2013/04/27 PHP
深入PHP nl2br()格式化输出的详解
2013/06/05 PHP
PHP中exec函数和shell_exec函数的区别
2014/08/20 PHP
ThinkPHP自定义函数解决模板标签加减运算的方法
2015/07/03 PHP
php往mysql中批量插入数据实例教程
2018/12/12 PHP
jquery1.83 之前所有与异步列队相关的模块详细介绍
2012/11/13 Javascript
深入理解JS函数的参数(arguments)的使用
2016/05/28 Javascript
JavaScript对象数组如何按指定属性和排序方向进行排序
2016/06/15 Javascript
Bootstrap源码解读按钮(5)
2016/12/23 Javascript
JavaScript中的子窗口与父窗口的互相调用问题
2017/02/08 Javascript
jQuery中用on绑定事件时需注意的事项
2017/03/19 Javascript
js canvas实现红包照片效果
2018/08/21 Javascript
three.js 制作动态二维码的示例代码
2020/07/31 Javascript
Ubuntu 14.04+Django 1.7.1+Nginx+uwsgi部署教程
2014/11/18 Python
python实现文件路径和url相互转换的方法
2015/07/06 Python
Python输出汉字字库及将文字转换为图片的方法
2016/06/04 Python
基于Python代码编辑器的选用(详解)
2017/09/13 Python
python统计多维数组的行数和列数实例
2018/06/23 Python
libreoffice python 操作word及excel文档的方法
2019/07/04 Python
Django应用程序入口WSGIHandler源码解析
2019/08/05 Python
Python单例模式的四种创建方式实例解析
2020/03/04 Python
Python smtp邮件发送模块用法教程
2020/06/15 Python
Python实现爬取并分析电商评论
2020/06/19 Python
python3 循环读取excel文件并写入json操作
2020/07/14 Python
Interrail法国:乘火车探索欧洲,最受欢迎的欧洲铁路通票
2019/08/27 全球购物
阿迪达斯新加坡官方网站:adidas新加坡
2019/12/06 全球购物
System.Array.CopyTo()和System.Array.Clone()有什么区别
2016/06/20 面试题
白血病捐款倡议书
2014/05/14 职场文书
圣诞节活动策划方案
2014/06/09 职场文书
2014年师德师风自我剖析材料
2014/09/27 职场文书
2015年秋季小班开学寄语
2015/05/27 职场文书
电影开国大典观后感
2015/06/04 职场文书
公务员的复习计划书,请收下!
2019/07/15 职场文书
Java详细解析==和equals的区别
2022/04/07 Java/Android
A22国内电台短波广播频率表
2022/05/10 无线电