繁体   English   中英

PyQt5 - 如何为相同的元素设置不同的样式表?

[英]PyQt5 - How can I set different stylesheets for the same elements?

我的部分代码是:

  layout2 = QGridLayout()

  #Design
  self.tab2.setStyleSheet("""
     .QLabel {
        color: white;
        font-weight: bold;
        border: 0px;
        margin: 0px;
        padding: 0px;
     }

     .QWidget {
        background-color: rgb(0,0,0);
        }
    """)

[...]

  layout2.addWidget(QLabel("1"),1,0)
  layout2.addWidget(QLabel("SHIRT"),1,1)
  #Yahoo details:
  layout2.addWidget(QLabel("Your-email"),1,2)
  layout2.addWidget(QLabel(":"),1,3)      
  layout2.addWidget(QLabel("Your-pass"),1,4)
  #-----
  layout2.addWidget(QLabel("Status"),1,8)
  layout2.addWidget(QLabel("Action"),1,9)

我正在尝试在我拥有的 QLabel 元素上设置不同的颜色(以及其他一些东西,文本对齐等)

我怎么能单独做到这一点? 这样我就不会改变所有这些???

请帮忙,谢谢!

您必须使用对象名称:

from PyQt5 import QtWidgets

QSS = '''

.QLabel {
    color: white;
    font-weight: bold;
    border: 0px;
    margin: 0px;
    padding: 0px;
}

.QWidget {
    background-color: rgb(0,0,0);
}

.QLabel#1 {
    background-color: blue; 
}

.QLabel#type1 {
    background-color: yellow;   
}
.QLabel#email {
    color: red;
}
.QLabel#password {
    background-color: green;    
    qproperty-alignment: 'AlignVCenter | AlignRight';
}
'''

if __name__ == '__main__':
    import sys
    app = QtWidgets.QApplication(sys.argv)
    w = QtWidgets.QWidget()
    w.setStyleSheet(QSS)
    layout = QtWidgets.QGridLayout(w)
    layout.addWidget(QtWidgets.QLabel("1", objectName="type1"),1,0)
    layout.addWidget(QtWidgets.QLabel("SHIRT", objectName="shirt"),1,1)

    #Yahoo details:
    layout.addWidget(QtWidgets.QLabel("Your-email", objectName="email"),1,2)
    layout.addWidget(QtWidgets.QLabel(":"),1,3)      
    layout.addWidget(QtWidgets.QLabel("Your-pass", objectName="password"),1,4)
    #-----
    layout.addWidget(QtWidgets.QLabel("Status", objectName="type1"),1,8)
    layout.addWidget(QtWidgets.QLabel("Action"),1,9)
    w.show()
    sys.exit(app.exec_())

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM