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中isalnum()方法的使用
May 18 Python
详解python并发获取snmp信息及性能测试
Mar 27 Python
Windows下安装python2和python3多版本教程
Mar 30 Python
Anaconda多环境多版本python配置操作方法
Sep 12 Python
Scrapy抓取京东商品、豆瓣电影及代码分享
Nov 23 Python
python 实现在txt指定行追加文本的方法
Apr 29 Python
python实现删除列表中某个元素的3种方法
Jan 15 Python
使用Python爬取弹出窗口信息的实例
Mar 14 Python
pycharm开发一个简单界面和通用mvc模板(操作方法图解)
May 27 Python
python开发前景如何
Jun 11 Python
Python 添加文件注释和函数注释操作
Aug 09 Python
python基于OpenCV模板匹配识别图片中的数字
Mar 31 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
Classes and Objects in PHP5-面向对象编程 [1]
2006/10/09 PHP
php获取文章上一页与下一页的方法
2014/12/01 PHP
php文件操作小结(删除指定文件/获取文件夹下的文件名/读取文件夹下图片名)
2016/05/09 PHP
php将html转为图片的实现方法
2017/05/19 PHP
RSA实现JS前端加密与PHP后端解密功能示例
2019/08/05 PHP
PHP设计模式之数据访问对象模式(DAO)原理与用法实例分析
2019/12/12 PHP
javascript html 静态页面传参数
2009/04/10 Javascript
Javascript 面向对象 对象(Object)
2010/05/13 Javascript
基于jQuery制作迷你背词汇工具
2010/07/27 Javascript
js导航菜单(自写)简单大方
2013/03/28 Javascript
导入extjs、jquery 文件时$使用冲突问题解决方法
2014/01/14 Javascript
ext中store.load跟store.reload的区别示例介绍
2014/06/17 Javascript
JavaScript实现简单的数字倒计时
2015/05/15 Javascript
JavaScript数组迭代器实例分析
2015/06/09 Javascript
jQuery中inArray方法注意事项分析
2016/01/25 Javascript
使用Ajax与服务器(JSON)通信实例
2016/11/04 Javascript
JS查找英文文章中出现频率最高的单词
2017/03/20 Javascript
微信小程序 地图map实例详解
2017/06/07 Javascript
微信小程序实现运动步数排行功能(可删除)
2018/07/05 Javascript
在vue项目中使用md5加密的方法
2018/09/14 Javascript
浅谈对于react-thunk中间件的简单理解
2019/05/01 Javascript
jquery插件开发模式实例详解
2019/07/20 jQuery
Vue中对iframe实现keep alive无刷新的方法
2019/07/23 Javascript
Nodejs实现图片上传、压缩预览、定时删除功能
2019/10/25 NodeJs
[54:47]Liquid vs VP Supermajor决赛 BO 第五场 6.10
2018/07/05 DOTA
Python注释详解
2016/06/01 Python
Python多线程实现同步的四种方式
2017/05/02 Python
python 命令行传入参数实现解析
2019/08/30 Python
pycharm运行程序时看不到任何结果显示的解决
2020/02/21 Python
教师个人的自我评价分享
2014/01/02 职场文书
决心书标准格式
2014/03/11 职场文书
人事任命书范文
2014/06/04 职场文书
学习退步检讨书
2014/09/28 职场文书
2014年流动人口工作总结
2014/11/26 职场文书
办公室文员岗位职责
2015/02/04 职场文书
千与千寻观后感
2015/06/04 职场文书