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实现识别相似图片小结
Feb 22 Python
python中安装Scrapy模块依赖包汇总
Jul 02 Python
Python中pandas模块DataFrame创建方法示例
Jun 20 Python
python模块之subprocess模块级方法的使用
Mar 26 Python
详解python列表生成式和列表生成式器区别
Mar 27 Python
Python实现网页截图(PyQT5)过程解析
Aug 12 Python
浅谈Python3识别判断图片主要颜色并和颜色库进行对比的方法
Oct 25 Python
如何基于python测量代码运行时间
Dec 25 Python
python能开发游戏吗
Jun 11 Python
如何将anaconda安装配置的mmdetection环境离线拷贝到另一台电脑
Oct 15 Python
解决python3安装pandas出错的问题
May 20 Python
Python字符串常规操作小结
Apr 03 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
4.与数据库的连接
2006/10/09 PHP
PHP Stream_*系列函数
2010/08/01 PHP
允许phpmyadmin空密码登录的配置方法
2011/05/29 PHP
php 操作符与控制结构
2012/03/07 PHP
IIS6.0中配置php服务全过程解析
2013/08/07 PHP
Zend Framework教程之动作的基类Zend_Controller_Action详解
2016/03/07 PHP
javascript dom 操作详解 js加强
2009/07/13 Javascript
IE bug table元素的innerHTML
2010/01/11 Javascript
jquery 全局AJAX事件使用代码
2010/11/05 Javascript
Fixie.js 自动填充内容的插件
2012/06/28 Javascript
Jquery使用Firefox FireBug插件调试Ajax步骤讲解
2013/12/02 Javascript
node.js中的fs.ftruncate方法使用说明
2014/12/15 Javascript
百度地图api如何使用
2015/08/03 Javascript
AngularJS向后端ASP.NET API控制器上传文件
2016/02/03 Javascript
js获取当前日期时间及其它日期操作汇总
2016/03/08 Javascript
JS中数组重排序方法
2016/11/11 Javascript
vue.js开发环境搭建教程
2017/05/04 Javascript
ES6 迭代器(Iterator)和 for.of循环使用方法学习(总结)
2018/02/08 Javascript
React如何避免重渲染
2018/04/10 Javascript
Vue中props的使用详解
2018/06/15 Javascript
关于自定义Egg.js的请求级别日志详解
2018/12/12 Javascript
[01:04:14]VP vs TNC 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
python3解析库lxml的安装与基本使用
2018/06/27 Python
numpy给array增加维度np.newaxis的实例
2018/11/01 Python
python开发实例之Python的Twisted框架中Deferred对象的详细用法与实例
2020/03/19 Python
关于探究python中sys.argv时遇到的问题详解
2021/02/23 Python
css3与html5实现响应式导航菜单(导航栏)效果分享
2014/02/12 HTML / CSS
APM Monaco中国官网:来自摩纳哥珠宝品牌
2017/12/27 全球购物
在C#中如何实现多态
2014/07/02 面试题
采购部主管岗位职责
2014/01/01 职场文书
魅力教师事迹材料
2014/01/10 职场文书
社区学习十八大感想
2014/01/22 职场文书
党员志愿者活动方案
2014/08/28 职场文书
2015医德医风个人工作总结
2015/04/02 职场文书
nginx基于域名,端口,不同IP的虚拟主机设置的实现
2021/03/31 Servers
vue-cli4.5.x快速搭建项目
2021/05/30 Vue.js