为多个控件统一设置样式
可以将样式字符串定义一次,然后将其应用到每个控件上。这样,就不需要分别设置样式了。
以按钮为例,上代码:
from PyQt5.QtWidgets import QPushButton
# 定义按钮样式
button_style = """
QPushButton {
border: 2px solid gray; /* 边框颜色和粗细 */
border-radius: 5px; /* 边框圆角 */
padding: 5px 10px; /* 内边距 */
background-color: #f0f0f0; /* 背景颜色 */
color: black; /* 文字颜色 */
font-size: 12px; /* 字体大小 */
}
QPushButton:hover {
background-color: #e0e0e0; /* 鼠标悬停时的背景颜色 */
}
"""
# 创建按钮并设置样式
a = QPushButton('按钮a')
a.setStyleSheet(button_style)
b = QPushButton('按钮b')
b.setStyleSheet(button_style)
c = QPushButton('按钮c')
c.setStyleSheet(button_style)
# ... 在这里可以将按钮添加到布局中等操作 ...
如果希望进一步简化代码,特别是在创建大量具有相同样式的按钮时,可以编写一个函数来创建和设置样式的按钮:
def create_styled_button(text):
button = QPushButton(text)
button.setStyleSheet(button_style)
return button
# 使用函数创建按钮
a = create_styled_button('按钮a')
b = create_styled_button('按钮b')
c = create_styled_button('按钮c')
# ... 在这里可以将按钮添加到布局中等操作 ...
这样,每次需要创建一个具有相同样式的按钮时,只需调用 create_styled_button 函数并传入按钮的文本即可。