我的代码的一部分是:
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元素上设置不同的颜色(以及其他一些东西,例如文本对齐等)
我该如何单独进行?这样我就不会全部改变??
请帮助,谢谢!
答案 0 :(得分:1)
您必须使用objectName:
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_())