Python PyQt5 使用setStyleSheet设置QLabel字体样式
在Qt中,setStyleSheet()
方法是一个非常强大的工具,它允许你以类似CSS的方式设置QWidget及其子类的样式,包括字体样式、颜色、背景等。对于QLabel
来说,你可以使用setStyleSheet()
来设置文本的字体样式,包括字体族(如Arial, Times New Roman等)、字体大小、字体加粗、斜体等。
以下是一个如何使用setStyleSheet()
设置QLabel
字体样式的示例:
from PyQt5.QtWidgets import QApplication, QLabel, QWidget, QVBoxLayout
class MainWindow(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
# 创建一个垂直布局
layout = QVBoxLayout(self)
# 创建一个QLabel
label = QLabel('Hello, PyQt5!', self)
# 使用setStyleSheet设置QLabel的字体样式
# 这里设置了字体族为Arial,大小为20,颜色为蓝色,并加粗显示
label.setStyleSheet("""
QLabel {
font-family: Arial;
font-size: 20px;
color: blue;
font-weight: bold;
}
""")
# 将QLabel添加到布局中
layout.addWidget(label)
# 设置窗口的布局
self.setLayout(layout)
if __name__ == '__main__':
app = QApplication([])
window = MainWindow()
window.show()
app.exec_()
在这个例子中,setStyleSheet()
方法接收一个字符串参数,该字符串定义了CSS样式规则。在这个字符串中,我们指定了QLabel
的font-family
(字体族)、font-size
(字体大小)、color
(颜色)和font-weight
(字体粗细)属性。你可以根据需要调整这些值来设置不同的字体样式。
请注意,CSS样式规则是区分大小写的,但Qt的setStyleSheet()
方法在处理时并不完全遵循CSS的所有规则。此外,Qt的样式表支持有限的CSS属性和值,因此并非所有的CSS样式都可以在Qt的样式表中使用。然而,对于大多数常见的字体样式设置,Qt的样式表已经足够用了。