PyQt5实现点击按钮触发LCD屏显示功能
admin
2023-01-20 06:00:04
0

背景

PyQt实现了一个Python模块集。它有超过300类,将近6000个函数和方法。它是一个多平台的工具包,可以运行在所有主要操作系统上,包括UNIX,Windows和Mac。 PyQt采用双许可证,开发人员可以选择GPL和商业许可。在此之前,GPL的版本只能用在Unix上,从PyQt的版本4开始,GPL许可证可用于所有支持的平台。

一、基础知识

1. PyQt5信号与槽简介

信号与槽是QT中的核心机制,也是PyQt5中对象直接进行通信的机制,当一个信号释放的时候,连接的槽函数会自动执行,比如点击/释放按钮都可以触发槽函数。

信号与槽特点如下:

(1) 一个信号可以连接多个槽函数
(2) 一个槽可以监听多个信号
(3) 一个信号可以连接另一个信号
(4) 信号与槽连接可以在不同线程间进行

PyQt5中信号与槽一共有两种使用方法:内置信号与槽、自定义信号与槽;信号与槽通过connect()连接,通过disconnect()函数解除绑定,本文我们学习使用PyQt内置的信号与槽。

2. PyQt5中QPushButton介绍

PyQt5中普通按钮是一个QPushButton也是,用户界面中最常用的窗口小部件,它的基类是QAbstracButton类,具有如下通用用法:

QPushButton类,用法如下:

PyQt5实现点击按钮触发LCD屏显示功能

3. PyQt中QLCDNumber介绍

QLCDNumber控件用于显示一个带有类似液晶显示屏效果的数字,该控件使用到的主要函数如下:

PyQt5实现点击按钮触发LCD屏显示功能

二、实例

  1. QT Desinger设计UI

打开designer.exe,使用默认的Main Window创建,直接点击Create按钮即可

设计UI图如下,并保存为btn.ui

2. 将btn.ui转换成ui_btn.py

进入ui_test.py目录,输入如下命令:
pyuic5 -o ui_test.py test.ui

3. 程序分析

程序实现的功能是当点击button的时候,LCD显示屏内容会持续+1

import sys
import PyQt5.QtWidgets as qw
import ui_btn
num = 0
if __name__ == "__main__":
    app = qw.QApplication(sys.argv)
    w = qw.QMainWindow()
    ui = ui_btn.Ui_MainWindow()
    ui.setupUi(w)
    ui.lcdNumber.setDecMode()  #设置显示模式
    # ui.lcdNumber.setStyleSheet("border:2pxsolidgreen;color:red;background:silver;")
    ui.lcdNumber.setSegmentStyle(ui.lcdNumber.Flat)
    def lcd_show():
        global num
        num = num + 1
        ui.lcdNumber.display(num)
    ui.pushButton.clicked.connect(lcd_show)
    w.show()
    sys.exit(app.exec_())

本节代码和上节环境搭建篇章主要不同点在于对QpushButton和QLCDNumber的处理。

关于QPushButton,程序中使用了ui.pushButton.clicked.connect(lcd_show)关联信号与槽函数,此时信号为clicked(),对应槽函数为lcd_show(),在槽函数中调用QLCDNumber的display(num)函数显示数字

关于QLCDNumber,程序中首先调用setDecMode()函数设置显示10进制数据,然后设置显示方式为Flat,最后在pushButton对应的槽函数中显示数字。

三、运行

进入文件目录,这里是进入2-btn文件夹目录,控制台输入python3 run.py,即可弹出上述用QT Designer设计出来的页面。

PyQt5实现点击按钮触发LCD屏显示功能

打开注释内容,修改LCD样式

ui.lcdNumber.setStyleSheet("border:2pxsolidgreen;color:red;background:silver;")

结果如下:

PyQt5实现点击按钮触发LCD屏显示功能

四、结语

1.总结:

本节完,实际操作过程中需要注意的地方有如下几点:

(1)python版本

注意,本系列PyQt教程,采用python3.6.6,建议和我保持一致。

(2)安装PyQt5和PyQt5_tools

注意选择国内安装源,速度比较

相关内容

热门资讯

美防长:对伊朗战争已耗资375... △美国国防部长赫格塞思(资料图)央视记者当地时间21日获悉,美国国防部长赫格塞思表示,美国对伊朗战争...
在全国抗议声中,泽连斯基解除乌... 据乌克兰媒体《基辅独立报》报道,乌克兰总统泽连斯基解除了乌克兰武装部队总司令瑟尔斯基的职务,并任命联...
也门胡塞武装:停靠沙特港口船只... 新华社科威特城7月21日电(记者尹炣)萨那消息:也门胡塞武装20日警告国际航运公司称,与沙特港口开展...
特朗普:胡塞武装若封锁红海,美... 新华社华盛顿7月21日电(记者黄强 徐剑梅)美国总统特朗普21日在白宫会见到访的黎巴嫩总统奥恩时表示...
AI第一城|GOAI世界人工智... 7月21日上午,GOAI世界人工智能开源大赛(Global Open-source AI Chall...
刀闸阀行业解读:申奥阀门的技术... 在工业流体控制领域,高粘度介质、强腐蚀环境以及含固体颗粒的复杂工况,长期是制约管路系统安全运行的关键...
原创 华... 现在的手机屏幕做得是越来越大了,iPhone17 Pro Max也做了6.9英寸大屏,国产自然不能输...
WAIC2026:没有花架子,... 齐鲁晚报·齐鲁壹点 记者 任磊磊 “逛不完,根本逛不完!”在世界人工智能大会展馆现场,不少观众一边逛...
欧洲议会外委会首次派团访华,王... 2026年7月21日,中共中央政治局委员、外交部长王毅在北京会见欧洲议会外事委员会主席麦克阿里斯特率...
大熊猫“福虎”嘴角生疮,官方回... 7月21日,南京紫清湖野生动物世界发布通告,称“福虎”自嘴角边长疮至今,园区一直在中国大熊猫保护研究...