QLabel
格式设置
label = QLabel('唉你好~', self)
label.setStyleSheet('background-color:cyan')
label.resize(200, 120)
label.setFixedSize(100, 60)
label.setAlignment(Qt.AlignRight | Qt.AlignVCenter)
label.setIndent(20)
label.setMargin(20)
"""Qt.PlainText: 设置为普通文本,不解析(默认)
Qt.RichText: 设置为富文本,可解析html
Qt.AutoText: 自动文本,自动识别是否为富文本"""
label.setTextFormat(Qt.AutoText)
小伙伴
label = QLabel('这时QLabel(&r)~~', self)
le = QLineEdit(self)
le.move(100, 100)
le_1 = QLineEdit(self)
le_1.move(100, 150)
label.setBuddy(le_1)
图片自适应大小
label = QLabel(self)
label.resize(500, 300)
label.setPixmap(QPixmap('../resources/pink_flower.png'))
label.setScaledContents(True)
设置交互权限
label = QLabel('哈哈哈哈', self)
"""Qt.NoTextInterface: 默认值,不能交互
TextSelectableByMouse: 可被鼠标选中
TextSelectableByKeyboard: 可被键盘选中
LinksAccessibleByMouse: 鼠标可打开超链接
LinksAccessibleByKeyboard: 键盘可打开超链接
TextEditable: 文本内容可编辑
TextEditorInteraction: 文本编辑的默认值
TextBrowserInteraction: QTextBrowser的默认值"""
label.setTextInteractionFlags(Qt.TextSelectableByMouse | Qt.TextSelectableByKeyboard | Qt.TextEditable)
文本操作
label = QLabel(self)
label.setText('恕瑞玛就和太阳一样兴盛不息')
label.setNum(101.22)
'''pic = QPicture()
painter = QPainter(pic)
painter.setBrush(QBrush(QColor(200,0,0)))
painter.drawEllipse(0,0,100,100)
label.setPicture(pic)'''
'''
movie = QMovie('./resources/cat.gif')
movie.start()
movie.setSpeed(1000) # 100为原速度。所以这里就是10倍速
label.setMovie(movie)'''
label.setSelection(1, 3)
label.setWordWrap(True)
label.clear()
链接
label = QLabel('<a href="http://www.ncut.edu.cn">https://www.bjtu.edu.cn</a>', self)
label.setOpenExternalLinks(True)
信号
label = QLabel('<a href="http:www.ncut.edu.cn">超链接</a>', self)
label.linkHovered.connect(lambda url: print(url))
label.linkActivated.connect(lambda url: print(url))
QProgressBar
简单方法
pb = QProgressBar(self)
pb.move(200, 100)
btn = QPushButton('按钮', self)
btn.move(200, 200)
btn_1 = QPushButton('繁忙', self)
btn_1.move(300, 200)
print(pb.minimum())
print(pb.maximum())
pb.setMinimum(0)
pb.setMaximum(120)
pb.setRange(0, 120)
pb.setValue(100)
def func():
pb.reset()
print(pb.minimum())
print(pb.maximum())
print(pb.value())
btn.clicked.connect(func)
def func_1():
pb.setRange(0, 0)
btn_1.clicked.connect(func_1)
文本格式设置
pb = QProgressBar(self)
pb.resize(250, 50)
pb.setValue(72.3)
btn = QPushButton('按钮', self)
btn.move(200, 200)
pb.setAlignment(Qt.AlignHCenter)
btn.clicked.connect(lambda: pb.resetFormat())
文本标签操作和方向和反转功能
btn = QPushButton('按钮', self)
btn.move(200, 200)
pb = QProgressBar(self)
pb.setValue(98)
pb.setTextVisible(True)
print(pb.isTextVisible())
print(pb.text())
def func():
pb.setOrientation(Qt.Vertical)
pb.resize(40, 300)
print(pb.isTextVisible())
btn.clicked.connect(func)
pb.setInvertedAppearance(True)
信号
pb = QProgressBar(self)
pb.setValue(1)
timer = QTimer(pb)
def func():
pb.setValue(pb.value() + 1)
if pb.value() == pb.maximum():
timer.stop()
timer.timeout.connect(func)
timer.start(1000)
pb.valueChanged.connect(lambda value: print('当前进度为:', value))
QLCDNumber
展示模式
btn = QPushButton('按钮', self)
btn.move(10, 200)
lcd = QLCDNumber(15, self)
lcd.resize(200, 120)
lcd.move(100, 100)
lcd.display('8572612')
lcd.display('abcdefghloprsuy')
lcd.display(23131.999)
def func():
print(lcd.value())
print(lcd.intValue())
btn.clicked.connect(func)
显示模式
lcd = QLCDNumber(self)
lcd.display(11)
"""Bin:二进制
Oct: 八进制
Dec: 十进制(默认)
Hex: 十六进制"""
lcd.setMode(QLCDNumber.Hex)
溢出判定
lcd = QLCDNumber(2,self)
print(lcd.checkOverflow(99))
print(lcd.checkOverflow(100))
lcd.overflow.connect(lambda: print('值溢出了'))
lcd.display(99.99999)
数字样式
lcd = QLCDNumber(self)
lcd_1 = QLCDNumber(self)
lcd_2 = QLCDNumber(self)
lcd.resize(200, 100)
lcd_1.resize(200, 100)
lcd_2.resize(200, 100)
lcd.move(100, 0)
lcd_1.move(100, 100)
lcd_2.move(100, 200)
lcd.setSegmentStyle(QLCDNumber.Outline)
lcd_1.setSegmentStyle(QLCDNumber.Flat)
lcd_2.setSegmentStyle(QLCDNumber.Filled)