一、液晶显示控件
液晶显示控件 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