【发布时间】:2020-09-03 10:52:45
【问题描述】:
如何在 PyQt5 中为多个 QLabels 或多个 Qwidgets 创建样式表?
例如,在我的程序中,我使用了 8 个 QLabel,其中 4 个 QLabel 属于一个家庭/组,另外 4 个属于另一个家庭/组。现在我想为这两个系列创建一个单独的样式表。第一个家族(所有 4 个 QLabels)必须设置相同的属性(背景色、前景色、对齐方式和字体),第二个家族也必须设置不同的属性。
import sys
from PyQt5.QtWidgets import QWidget,QApplication,QLabel,QFormLayout
class Stylesheet_001(QWidget):
def __init__(self):
super().__init__()
self.setWindowTitle("Style Sheet Example_001")
self.setMinimumSize(600,800)
self.setMaximumSize(600,800)
self.mydesign()
def mydesign(self):
lbl_normal = QLabel("Total Available Items :")
lbl_starts = QLabel("Item Starts With :")
lbl_contains = QLabel("Items Contains Anywhere :")
lbl_end = QLabel("Items Ends With :")
lbl_normal_count = QLabel("500")
lbl_starts_count = QLabel('50,000')
lbl_contains_count = QLabel('5')
lbl_ends_count = QLabel('0')
mylayout = QFormLayout()
mylayout.addRow(lbl_normal ,lbl_normal_count)
mylayout.addRow(lbl_starts ,lbl_starts_count)
mylayout.addRow(lbl_contains,lbl_contains_count)
mylayout.addRow(lbl_end ,lbl_ends_count)
self.setLayout(mylayout)
def main():
myapp = QApplication(sys.argv)
mywindow = Stylesheet_001()
mywindow.show()
sys.exit(myapp.exec_())
if __name__ == "__main__":
main()
1) lbl_normal, 2) lbl_strats, 3) lbl_contains, 4) lbl_ends 属于一个组(第一组),另外 4 个标签属于另一组(第二组)。
第一组必须设置相同,前景色:红色,字体:口径,10,粗体和右对齐。 第二组必须设置相同,前景色:绿色,字体:系统默认和左对齐。
【问题讨论】:
-
你的问题不清楚,你能不能试着更好地解释你想要达到的目标?
-
@musicamante ,根据您的指南,现在我详细说明我的要求。
标签: python pyqt pyqt5 qtstylesheets