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中的True,False条件判断实例分析
Jan 12 Python
详解Python迭代和迭代器
Mar 28 Python
Python for Informatics 第11章之正则表达式(二)
Apr 21 Python
Python max内置函数详细介绍
Nov 17 Python
利用Python中SocketServer 实现客户端与服务器间非阻塞通信
Dec 15 Python
python特性语法之遍历、公共方法、引用
Aug 08 Python
使用Django连接Mysql数据库步骤
Jan 15 Python
python 表格打印代码实例解析
Oct 12 Python
Python如何通过Flask-Mail发送电子邮件
Jan 29 Python
python实现最速下降法
Mar 24 Python
python使用hdfs3模块对hdfs进行操作详解
Jun 06 Python
使用Python爬虫爬取小红书完完整整的全过程
Jan 19 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获取金书网的书名的实现代码
2010/06/11 PHP
php array的学习笔记
2012/05/16 PHP
修改destoon会员公司的伪静态中的com目录的方法
2014/08/21 PHP
php网页病毒清除类
2014/12/08 PHP
php 利用socket发送HTTP请求(GET,POST)
2015/08/24 PHP
php版微信自动获取收货地址api用法示例
2016/09/22 PHP
yii2 resetful 授权验证详解
2017/05/18 PHP
记录几个javascript有关的小细节
2007/04/02 Javascript
jquery键盘事件介绍
2011/01/31 Javascript
网页中可关闭的漂浮窗口实现可自行调节
2013/08/20 Javascript
JQuery实现鼠标滑过显示导航下拉列表
2013/09/12 Javascript
jquery实现省市select下拉框的替换(示例代码)
2014/02/22 Javascript
js写出遮罩层登陆框和对联广告并自动跟随滚动条滚动
2014/04/29 Javascript
JS通过ajax动态读取xml文件内容的方法
2015/03/24 Javascript
利用jQuery及AJAX技术定时更新GridView的某一列数据
2015/12/04 Javascript
详解AngularJS过滤器的使用
2016/03/11 Javascript
Function.prototype.apply()与Function.prototype.call()小结
2016/04/27 Javascript
详解ECharts使用心得总结
2016/12/06 Javascript
Vue组件之Tooltip的示例代码
2017/10/18 Javascript
security.js实现的RSA加密功能示例
2018/06/06 Javascript
angularJs自定义过滤器实现手机号信息隐藏的方法
2018/10/08 Javascript
Vue和React组件之间的传值方式详解
2019/01/31 Javascript
vue3.0 加载json的方法(非ajax)
2020/10/26 Javascript
浅谈nuxtjs校验登录中间件和混入(mixin)
2020/11/06 Javascript
Python 功能和特点(新手必学)
2015/12/30 Python
基于Python的接口测试框架实例
2016/11/04 Python
利用python求相邻数的方法示例
2017/08/18 Python
PyQt5利用QPainter绘制各种图形的实例
2017/10/19 Python
Python实现的网页截图功能【PyQt4与selenium组件】
2018/07/12 Python
Django 项目重命名的实现步骤解析
2019/08/14 Python
python中sort sorted reverse reversed函数的区别说明
2020/05/11 Python
python中pickle模块浅析
2020/12/29 Python
AJAX的全称是什么
2012/11/06 面试题
五心教育心得体会
2014/09/04 职场文书
2014年房地产个人工作总结
2014/12/20 职场文书
求职信格式范文
2015/03/19 职场文书