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通过exifread模块获得图片exif信息的方法
Mar 16 Python
python探索之BaseHTTPServer-实现Web服务器介绍
Oct 28 Python
python中set()函数简介及实例解析
Jan 09 Python
pandas中的DataFrame按指定顺序输出所有列的方法
Apr 10 Python
python opencv对图像进行旋转且不裁剪图片的实现方法
Jul 09 Python
利用Python检测URL状态
Jul 31 Python
python中时间转换datetime和pd.to_datetime详析
Aug 11 Python
Python 处理文件的几种方式
Aug 23 Python
Python统计学一数据的概括性度量详解
Mar 03 Python
解决Ubuntu18中的pycharm不能调用tensorflow-gpu的问题
Sep 17 Python
python实现图片素描效果
Sep 26 Python
MoviePy简介及Python视频剪辑自动化
Dec 18 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
table标签的结构与合并单元格的实现方法
2013/07/24 PHP
php preg_match的匹配不同国家语言实例
2016/12/29 PHP
PHP获取远程http或ftp文件的md5值的方法
2019/04/15 PHP
超级兔子让浮动层消失的前因后果
2007/03/09 Javascript
驱动事件的addEvent.js代码
2007/03/27 Javascript
基于jquery跨浏览器显示的file上传控件
2011/10/24 Javascript
javascript SpiderMonkey中的函数序列化如何进行
2012/12/05 Javascript
左侧是表头的JS表格控件(自写,网上没有的)
2013/06/04 Javascript
js中数组Array的一些常用方法总结
2013/08/12 Javascript
Javascript原型链和原型的一个误区
2014/10/22 Javascript
node.js中的dns.getServers方法使用说明
2014/12/08 Javascript
JavaScript动态改变表格单元格内容的方法
2015/03/30 Javascript
深入浅出webpack教程系列_安装与基本打包用法和命令参数详解
2017/09/10 Javascript
Vue源码学习之初始化模块init.js解析
2017/11/02 Javascript
vue2.0 better-scroll 实现移动端滑动的示例代码
2018/01/25 Javascript
vue修改对象的属性值后页面不重新渲染的实例
2018/08/09 Javascript
Echarts地图添加引导线效果(labelLine)
2019/09/30 Javascript
Vue中rem与postcss-pxtorem的应用详解
2019/11/20 Javascript
vue+element 实现商城主题开发的示例代码
2020/03/26 Javascript
vue中的.$mount('#app')手动挂载操作
2020/09/02 Javascript
详解Python中expandtabs()方法的使用
2015/05/18 Python
python3音乐播放器简单实现代码
2020/04/20 Python
python九九乘法表的实例
2017/09/26 Python
浅谈python 里面的单下划线与双下划线的区别
2017/12/01 Python
Python 存储字符串时节省空间的方法
2019/04/23 Python
Django使用 Bootstrap 样式修改书籍列表过程解析
2019/08/09 Python
HTML5 canvas实现的静态循环滚动播放弹幕
2021/01/05 HTML / CSS
为什么在使用动态 SQL 语句时必须为低层数据库对象授予权限
2012/12/13 面试题
银行个人求职自荐信范文
2013/12/16 职场文书
英语系本科生求职信范文
2013/12/18 职场文书
红旗团支部事迹材料
2014/01/27 职场文书
2014村务公开实施方案
2014/02/25 职场文书
个人批评与自我批评
2014/10/15 职场文书
检讨书格式范文
2015/05/07 职场文书
企业开发CSS命名BEM代码规范实践
2022/02/12 HTML / CSS
Python进程间的通信之语法学习
2022/04/11 Python