python定义一个类描述数字时钟_Qt5 Python GUI 编程指南

以类 LCD 液晶数字形式显示系统时钟

液晶显示(LCD)数字是一个七段显示,通常用于电子设备上的显示。这些LCD数字比点阵显示更具有可读性。让我们创建一个应用程序以使用类似LCD的数字显示系统时钟。

如何去做...

在这个应用中,我们将使用QTime类来获取当前系统的时间。根据下面的步骤来创建这个应用程序:

打开Qt Designer并基于Dialog without Buttons模板新建一个应用程序。

将应用保存为demoLCD.ui。

因为我们想要显示类似LCD的数字,所以要拖动LCD Number部件放到窗体上,如下面的截图所示:

1a2a2be6a9d507da51560975823aef39.png

在Property Editor窗口中,将LCD Number部件的Width和Height属性分别设置为100和40,仅仅让系统时钟能够完整显示。使用pyuic5命令将.ui的XML文件转换成Python代码。生成的Python文件为demoLCD.py,这个文件可以在本书源代码中找到。

创建一个名为callLCD.pyw的Python脚本并导入demoLCD.py代码,以调用用户界面设计并通过LCD Number部件显示当前系统时钟。

脚本必须包含一个定时器以使LCD显示在固定时间段内保持更新。callLCD.pyw脚本的Python代码如下所示:

import sys

from PyQt5.QtWidgets import QDialog, QApplication

from demoLCD import *

class MyForm(QDialog):

def __init__(self):

super().__init__()

self.ui = Ui_Dialog()

self.ui.setupUi(self)

timer = QtCore.QTimer(self)

timer.timeout.connect(self.showlcd)

timer.start(1000)

self.showlcd()

def showlcd(self):

time = QtCore.QTime.currentTime()

text = time.toString('hh:mm')

self.ui.lcdNumber.display(text)

if __name__=="__main__":

app = QApplication(sys.argv)

w = MyForm()

w.show()

sys.exit(app.exec_())

它是如何工作的...

在这个代码中,你可以看到创建了一个QTimer的实例,名为timer,并且它的timeout()信号与showlcd()方法相关联。每当timeout()信号产生时,就会调用这个showlcd()方法。也可以通过start()方法来设置定时器每隔1000毫秒就发出一个timeout()信号。

在showlcd()方法中,你获取当前系统时钟,并转换成字符串类型,以HH:MM的格式显示在LCD Number部件上,如下截图所示:

fadb569b39dc70a997d88ef7b191d993.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值