Pyside6 qss文件如何指定单个控件改变样式
问题描述:
我使用pyside6写了一个test,但是发现qss全局样式可以生效,但是指定的一个名叫 button_3 的控件改变样式没有生效。
下面是我的 .py 和 .qss 文件代码
import sys
from PySide6.QtWidgets import (QApplication, QVBoxLayout, QWidget, QPushButton, QGridLayout, QLabel)
from PySide6 import QtCore
class Form(QWidget):
def __init__(self):
super(Form,self).__init__()
self.layout = QVBoxLayout()
self.button_1 = QPushButton("test_1")
self.button_2 = QPushButton("test_2")
self.button_3 = QPushButton("test_2")
self.layout.addWidget(self.button_1)
self.layout.addWidget(self.button_2)
self.layout.addWidget(self.button_3)
self.setLayout(self.layout)
with open("./style/button.qss", "r") as f:
_style = f.read()
self.setStyleSheet(_style)
if __name__ == "__main__":
app = QApplication([])
myForm = Form()
# Calculator.resize(800, 600)
myForm.show()
sys.exit(app.exec())
QPushButton {
background-color: red;
min-width: 3em;
border-style: outset;
border-width: 2px;
}
QPushButton#button_3 {
background: yellow;
min-width: 6em;
min-height: 2em;
}
运行代码后,程序像这样
我在 qss 文件中定义了 button_3 和全局不同的样式,全局样式好像生效了,但是 button_3 为什么没有任何效果?
也可能是我 setStyleSheet 写得有问题,如果有问题,希望帮助我指出错误,谢谢!
答
你好,我是有问必答小助手,非常抱歉,本次您提出的有问必答问题,技术专家团超时未为您做出解答
本次提问扣除的有问必答次数,将会以问答VIP体验卡(1次有问必答机会、商城购买实体图书享受95折优惠)的形式为您补发到账户。
因为有问必答VIP体验卡有效期仅有1天,您在需要使用的时候【私信】联系我,我会为您补发。