1、QLCDNumber:展示LCD样式的数字,因为他是由横条和竖条组成,所以他可以展示的文本有限。
from PyQt5.Qt import *
class Window(QWidget):
def __init__(self):
super().__init__()
self.setWindowTitle("QLCDNumber的学习")
self.resize(500, 500)
self.setup_ui()
def setup_ui(self):
# 5表示最终所能展示的位数是5位
lcd = QLCDNumber(5, self)
lcd.move(200, 200)
if __name__ == "__main__":
import sys
app = QApplication(sys.argv)
window = Window()
window.resize(500, 500)
window.show()
sys.exit(app.exec_())
2、设置显示数据:可以传递不同的数据类型:但是获取只能获取整型和浮点型数据。
以LCD格式展示部分字符:冒号和单引号:
当你想要展示一个字符串时,位数不够的情况下,前面的不会显示,显示后边的;
当你要显示一个数值,数值超过给定位数之后,会显示为0,且会发出溢出信号。
位数限制:
# 设置限制位数
lcd.setDigitCount(4)
# 展示字符串
lcd.display("12345")
# 展示数值类型数据
lcd.display(888.98)
btn = QPushButton(self)
btn.move(200, 200)
btn.resize(100, 30)
btn.setText("测试按钮")
btn.clicked.connect(lambda: print(lcd.value()))
3、进制模式设置:
# 展示数值类型数据
lcd.display(10)
# 以2进制的格式展示数据
lcd.setMode(QLCDNumber.Bin)
4、溢出判定和信号:
print(lcd.checkOverflow(100))
print(lcd.checkOverflow(98))
# 先连接信号,在展示,否则溢出之后并无法传递信号
lcd.overflow.connect(lambda: print("数值溢出"))
lcd.display(200)
5、QLCD分段样式:(可以控制控件所展示的内容格式)
from PyQt5.Qt import *
class Window(QWidget):
def __init__(self):
super().__init__()
self.setWindowTitle("QLCDNumber的学习")
self.resize(500, 500)
self.setup_ui()
def setup_ui(self):
# 5表示最终所能展示的位数是5位
lcd = QLCDNumber(self)
# 设置限制位数
lcd.setDigitCount(2)
lcd.move(0, 0)
lcd.resize(300, 100)
# 展示字符串
lcd.display("12345")
# 展示数值类型数据
lcd.display(10)
# 以2进制的格式展示数据
#lcd.setMode(QLCDNumber.Bin)
lcd2 = QLCDNumber(self)
lcd2.move(0, 100)
lcd2.resize(300, 100)
lcd3 = QLCDNumber(self)
lcd3.move(0, 200)
lcd3.resize(300, 100)
# btn = QPushButton(self)
# btn.move(100, 100)
# btn.resize(100, 30)
# btn.setText("测试按钮")
# btn.clicked.connect(lambda: print(lcd.value()))
#
# print(lcd.checkOverflow(100))
# print(lcd.checkOverflow(98))
lcd.setSegmentStyle(QLCDNumber.Outline)
lcd2.setSegmentStyle(QLCDNumber.Filled)
lcd3.setSegmentStyle(QLCDNumber.Flat)
# 先连接信号,在展示,否则溢出之后并无法传递信号
lcd.overflow.connect(lambda: print("数值溢出"))
lcd.display(200)
if __name__ == "__main__":
import sys
app = QApplication(sys.argv)
window = Window()
window.resize(500, 500)
window.show()
sys.exit(app.exec_())