《快速掌握PyQt5》第十一章 液晶数字显示屏QLCDNumber

第十一章 液晶数字显示屏QLCDNumber

11.1 简单示例

11.2 小结


《快速掌握PyQt5》专栏已整理成书出版,书名为《PyQt编程快速上手》,详情请见该链接。感谢大家一直以来的支持!祝大家PyQt用得越来越顺!

QLCDNumber控件用于显示一个带有类似液晶显示屏效果的数字。

11.1 简单示例

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLCDNumber, QVBoxLayout


class Demo(QWidget):
    def __init__(self):
        super(Demo, self).__init__()
        self.resize(600, 600)

        self.lcd_1 = QLCDNumber(self)                                   # 1
        self.lcd_1.setDigitCount(10)
        self.lcd_1.display(1234567890)

        self.lcd_2 = QLCDNumber(self)                                   # 2
        self.lcd_2.setSegmentStyle(QLCDNumber.Flat)
        # self.lcd_2.setSmallDecimalPoint(True)
        self.lcd_2.setDigitCount(10)
        self.lcd_2.display(0.123456789)

        self.lcd_3 = QLCDNumber(self)                                   # 3
        self.lcd_3.setSegmentStyle(QLCDNumber.Filled)
        self.lcd_3.display('HELLO')

        self.lcd_4 = QLCDNumber(self)                                   # 4
        self.lcd_4.setSegmentStyle(QLCDNumber.Outline)
        self.lcd_4.setMode(QLCDNumber.Hex)
        self.lcd_4.setDigitCount(6)
        self.lcd_4.display(666)

        self.v_layout = QVBoxLayout()
        self.v_layout.addWidget(self.lcd_1)
        self.v_layout.addWidget(self.lcd_2)
        self.v_layout.addWidget(self.lcd_3)
        self.v_layout.addWidget(self.lcd_4)

        self.setLayout(self.v_layout)


if __name__ == '__main__':
    app = QApplication(sys.argv)
    demo = Demo()
    demo.show()
    sys.exit(app.exec_())

1. 实例化一个QLCDNumber控件,然后通过setDiditCount()方法来设置一共可以显示多少为数字;

2. lcd_2显示浮点型数字。通过setSegmentStyle()可以设置显示屏数字样式,可传入的参数有:

常量

描述

QLCDNumber.Outline

0

让内容浮显,其颜色同显示屏背景颜色相同

QLCDNumber.Filled

1

让内容浮显,颜色同窗口标题颜色相同

QLCDNumber.Flat

2

让内容扁平化显示,颜色同窗口标题颜色相同

setSmallDecimalPoint(bool)方法可以设置小数点的显示方式:若为True,那么小数点就会在两个数字之间显示出来,而不会单独占一个位置。如果为False,那就会单独占位(默认为False)。

3. lcd_3显示的为字符串,可以显示的字母种类有限:A, B, C, D, E, F, h, H, L, o, P, r, u, U, Y, O/0, S/5,  g/9;

4. 可以通过setMode()方法来更改数字显示方式,这里用传入QLCDNumber.Hex让数字以16进制方式显示,总共可以传入以下参数:

参数

描述

QLCDNumber.Hex

0

十六进制

QLCDNumber.Dec

1

十进制

QLCDNumber.Oct

2

八进制

QLCDNumber.Bin

3

二进制

运行截图如下:

11.2 小结

1. QLCDNumber显示方式其实就跟电子表的显示方式一样。

2. setDigitCount(int)用于设置可显示位数;setSegmentStyle()用于设置样式;setMode()用于设置数字显示方式;display()用于显示。

bug记录:overflow()信号无法触发。

欢迎关注我的微信公众号,发现更多有趣内容:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

la_vie_est_belle

谢谢支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值