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

所属分类: 脚本专栏 / python 阅读数: 868
收藏 0 赞 0 分享

本文实例为大家分享了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中模块string.py详解

这篇文章主要介绍了Python中模块之string.py的相关资料,文中介绍的非常详细,对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。
收藏 0 赞 0 分享

Python中关键字nonlocal和global的声明与解析

这篇文章主要给大家介绍了关于Python中关键字nonlocal和global的声明与解析的相关资料,文中介绍的非常详细,相信对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。
收藏 0 赞 0 分享

python中pandas.DataFrame对行与列求和及添加新行与列示例

pandas是python环境下最有名的数据统计包,而DataFrame翻译为数据框,是一种数据组织方式,这篇文章主要给大家介绍了python中pandas.DataFrame对行与列求和及添加新行与列的方法,文中给出了详细的示例代码,需要的朋友可以参考借鉴,下面来一起看看吧。
收藏 0 赞 0 分享

Python中str.format()详解

本文主要给大家详细介绍的是python编程中str.format()的基本语法和高级用法,非常的详细,并附有示例,希望大家能够喜欢
收藏 0 赞 0 分享

python中pandas.DataFrame的简单操作方法(创建、索引、增添与删除)

这篇文章主要介绍了python中pandas.DataFrame的简单操作方法,其中包括创建、索引、增添与删除等的相关资料,文中介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。
收藏 0 赞 0 分享

Python IDLE 错误:IDLE''s subprocess didn''t make connection 的解决方案

这篇文章主要介绍了Python IDLE 错误:IDLE's subprocess didn't make connection 的解决方案的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

Python中类型检查的详细介绍

Python是一种非常动态的语言,函数定义中完全没有类型约束。下面这篇文章主要给大家详细介绍了Python中类型检查的相关资料,需要的朋友可以参考借鉴,下面来一起看看吧。
收藏 0 赞 0 分享

利用python程序生成word和PDF文档的方法

这篇文章主要给大家介绍了利用python程序生成word和PDF文档的方法,文中给出了详细的介绍和示例代码,相信对大家具有一定的参考价值,有需要的朋友们下面来一起看看吧。
收藏 0 赞 0 分享

python用装饰器自动注册Tornado路由详解

这篇文章主要给大家介绍了python用装饰器自动注册Tornado路由,文中给出了三个版本的解决方法,有需要的朋友可以参考借鉴,下面来一起看看吧。
收藏 0 赞 0 分享

让python 3支持mysqldb的解决方法

这篇文章主要介绍了关于让python 3支持mysqldb的解决方法,文中给出解决的示例代码,相信对大家具有一定的参考价值,有需要的朋友可以一起来看看。
收藏 0 赞 0 分享
查看更多