首页 > 其他分享 >15. 液晶显示控件

15. 液晶显示控件

时间:2025-01-03 19:55:37浏览次数:1  
标签:控件 None 15 数字 self 显示 QLCDNumber 液晶显示

一、液晶显示控件

  液晶显示控件 QLCDNumber 用来显示数字和一些特殊符号,常用来显示数值、日期和时间。可以显示的数字和符号有0/O、1、2、3、4、5/S、6、7、8、9/g、减号、小数点、A、B、C、D、E、F、h、H、L、o、P、r、u、U、Y、冒号、度数(在字符串中用单引号表示)和空格。QLCDNumber 将非法字符替换为空格。

  我们可以在终端中使用 pip 安装 pyside6 模块。

pip install pyside6

  用 QLCDNumber 类创建实例对象的方法如下所示:

QLCDNumber(parent:QWidget=None)
QLCDNumber(numDigits:int, parent:QWidget=None)

  其中 parent 是控件所在的 窗体容器 控件,numDigits 是能 显示的数字个数。QLCDNumber 是从 QFrame 类继承而来的。

  液晶显示控件的常用方法如下:

# 实例方法
setDigitCount(nDigits:int) -> None                          # 设置可以显示的数字个数
digitCount() -> int                                         # 获取可以显示的数字个数
setSegmentStyle(arg__1:QLCDNumber.SegmentStyle) -> None     # 设置外观显示样式
checkOverflow(num:int) -> bool                              # 检查整数是否溢出
checkOverflow(num:float) -> bool                            # 检查浮点数是否溢出
intValue() -> int                                           # 按四舍五入的规则返回整数值,若显示的不是数字,则返回0
value() -> float                                            # 返回浮点数值
setMode(arg__1:QLCDNumber.Mode) -> None                     # 设置数字的显示模式

# 槽方法
display(string:str) -> None                                 # 显示字符串
display(num:int) -> None                                    # 显示整数
display(num:float) -> None                                  # 显示浮点数
setBinMode() -> None                                        # 转成二进制显示模式
setOctMode() -> None                                        # 转成八进制显示模式
setDecMode() -> None                                        # 转成十进制显示模式
setHexMode() -> None                                        # 转成十六进制显示模式
setSmallDecimalPoint(arg__1:bool) -> None                   # 设置小数点的显示是否占用一位

  用setDigitCount(int)方法设置液晶显示控件的最大显示数字个数,包括小数点,如果显示的整数部分长度超过了允许的最大数字个数,则会产生溢出,溢出时会发送 overflow() 信号。可以用 checkOverflow(float) 和 checkOverflow(int) 方法检查浮点数和整数值是否会溢出。

  如果显示的是整数,可以用 setMode(QLCDNumber.Mode) 方法将整数转换成二进制、八进制和十六进制显示,其中参数 QLCDNumber.Mode可以取值如下:

QLCDNumber.Mode.Bin         # 二进制
QLCDNumber.Mode.Oct         # 八进制
QLCDNumber.Mode.Dec         # 十进制
QLCDNumber.Mode.Hex         # 十六进制

  用 setSegmentStyle(QLCDNumber.SegmentStyle) 方法可以设置液晶显示器的外观,其中参数 QLCDNumber.SegmentStyle 可以取值如下:

QLCDNumber.SegmentStyle.Outline          # 用背景色显示数字,只显示数字的轮廓
QLCDNumber.SegmentStyle.Filled           # 用窗口的文字颜色显示文字
QLCDNumber.SegmentStyle.Flat             # 平面,没有凸起效果

  液晶显示控件 QLCDNumber 只有一个信号 overflow(),当显示的整数部分长度超过了允许的最大数字个数时发送信号。

overflow()           # 超过了允许的最大数字个数时发送信号
import sys

from PySide6.QtWidgets import QApplication, QWidget
from PySide6.QtWidgets import QLCDNumber
from PySide6.QtCore import QTimer

class MyWidget(QWidget):
    def __init__(self):
        # 1.调用父类Qwidget类的__init__()方法
        super().__init__()
        # 2.调用setupUi()方法初始化页面
        self.setup_ui()

        self.count = 0
        # 3.创建一个定时器对象
        self.timer = QTimer()
        # 4.启动定时器
        self.timer.start(1000)
        # 5.关联信号
        self.timer.timeout.connect(self.show_num_lcdNumber)

    def setup_ui(self):
        # 1.设置窗口对象大小
        self.resize(700, 500)

        # 2.创建液晶显示控件控件
        self.lcdNumber = QLCDNumber(self)
        self.lcdNumber.resize(100, 50)

        # 3.设置可以显示的数字个数
        self.lcdNumber.setDigitCount(2)

        # 4.设置外观显示样式
        self.lcdNumber.setSegmentStyle(QLCDNumber.SegmentStyle.Filled)

        # 5.设置数字显示模式
        self.lcdNumber.setHexMode()

    def show_num_lcdNumber(self):
        self.count += 1
        if self.count <= 255:
            self.lcdNumber.display(self.count)
        else:
            self.timer.stop()
            self.lcdNumber.display(0)

if __name__ == "__main__":
    # 1.创建一个QApplication类的实例
    app = QApplication(sys.argv)
    # 2.创建一个窗口
    window = MyWidget()
    # 3.展示窗口
    window.show()
    # 4.进入程序的主循环并通过exit()函数确保主循环安全结束
    sys.exit(app.exec())

标签:控件,None,15,数字,self,显示,QLCDNumber,液晶显示
From: https://www.cnblogs.com/FlurryHeart/p/18650829

相关文章

  • Spring Data REST 远程代码执行漏洞(CVE-2017-8046)分析与复现15
    前言2009年9月Spring3.0RC1发布后,Spring就引入了SpEL(SpringExpressionLanguage)。对于开发者而言,引入新的工具显然是令人兴奋的,但是对于运维人员,也许是噩耗的开始。类比Struts2框架,会发现绝大部分的安全漏洞都和ognl脱不了干系。尤其是远程命令执行漏洞,占据了多少甲方乙方......
  • Spring Data REST 远程代码执行漏洞(CVE-2017-8046)分析与复现15
    前言2009年9月Spring3.0RC1发布后,Spring就引入了SpEL(SpringExpressionLanguage)。对于开发者而言,引入新的工具显然是令人兴奋的,但是对于运维人员,也许是噩耗的开始。类比Struts2框架,会发现绝大部分的安全漏洞都和ognl脱不了干系。尤其是远程命令执行漏洞,占据了多少甲方乙方......
  • Spring Data REST 远程代码执行漏洞(CVE-2017-8046)分析与复现15
    前言2009年9月Spring3.0RC1发布后,Spring就引入了SpEL(SpringExpressionLanguage)。对于开发者而言,引入新的工具显然是令人兴奋的,但是对于运维人员,也许是噩耗的开始。类比Struts2框架,会发现绝大部分的安全漏洞都和ognl脱不了干系。尤其是远程命令执行漏洞,占据了多少甲方乙方......
  • Spark Streaming + Elasticsearch构建App异常监控平台15
    如果在使用App时遇到闪退,你可能会选择卸载App、到应用商店怒斥开发者等方式来表达不满。但开发者也同样感到头疼,因为崩溃可能意味着用户流失、营收下滑。为了降低崩溃率,进而提升App质量,App开发团队需要实时地监控App异常。一旦发现严重问题,及时进行热修复,从而把损失降到最低。A......
  • 14. 定时器控件
    一、定时器控件  在PySide6中,如果需要周期性地执行某项操作,就可以使用QTimer类实现。QTimer类表示计时器,它可以定期发射timeout信号,执行与信号连接的槽函数,实现自动完成某些功能。时间间隔的长度可以在start()方法中指定,以毫秒为单位。如果需要停止定时器,则需要使用s......
  • LruCache在美团DSP系统中的应用演进15
     背景DSP系统是互联网广告需求方平台,用于承接媒体流量,投放广告。业务特点是并发度高,平均响应低(百毫秒)。为了能够有效提高DSP系统的性能,美团平台引入了一种带有清退机制的缓存结构LruCache(LeastRecentlyUsedCache),在目前的DSP系统中,使用LruCache+键值存储数据库的机制......
  • iOS 覆盖率检测原理与增量代码测试覆盖率工具实现15
     背景对苹果开发者而言,由于平台审核周期较长,客户端代码导致的线上问题影响时间往往比较久。如果在开发、测试阶段能够提前暴露问题,就有助于避免线上事故的发生。代码覆盖率检测正是帮助开发、测试同学提前发现问题,保证代码质量的好帮手。对于开发者而言,代码覆盖率可以反馈两......
  • 15.小综合:人工神经网络逼近股票价格Ⅲ
    1.小综合:人工神经网络逼近股票价格Ⅲ2.小综合:人工神经网络逼近股票价格Ⅲ_代码解释13.小综合:人工神经网络逼近股票价格Ⅲ_代码解释24.小综合:人工神经网络逼近股票价格Ⅲ_代码解释3总结:这段代码定义了一个简单的神经网络模型MyModel,该模型包含一个线性层(权重和偏置),然后......
  • 10.15
    实验四:SMO算法实现与测试一、实验目的深入理解支持向量机(SVM)的算法原理,能够使用Python语言实现支持向量机的训练与测试,并且使用五折交叉验证算法进行模型训练与评估。 二、实验内容(1)从scikit-learn库中加载iris数据集,使用留出法留出1/3的样本作为测试集(注意同分......
  • WPF通过外部资源文件为主页面控件编写样式
    1.增加外部样式文件,添加资源词典(WPF)文件创建公共样式文件GlobalStyles.xaml 编写样式文件,以<style>标记开头,TargetType属性为控件类型,如按钮“Button”,单选按钮“RadioButton”等,x:Key属性自定义命名,控件在引用属性的时候需将Style属性设置为{StaticResourcekey属性}......