我的 qss 选择器在选择了正确的 ID 时不起作用

My qss selector doesn't work with a correct ID selected

最近在学习QSS。有一种情况,我想使用选择器来更改 QPushButton 小部件而不是其他小部件。所以我把qss文件写成blow

QPushButton#button_3 {
    background: yellow;
    min-width: 3em;
    min-height: 2em;
}

QPushButton {
    background-color: red;
    min-width: 30em;
    border-style: outset;
    border-width: 2px;
}

而我的py文件是一样的

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("button_1")
        self.button_2 = QPushButton("button_2")
        self.button_3 = QPushButton("button_3")

        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()
    myForm.show()

    with open("./style/button.qss", "r") as f:
            _style = f.read()
            myForm.setStyleSheet(_style)

    sys.exit(app.exec())

但是选择器似乎不起作用。最后的window如吹:

好像全局配置已经生效了,但是选中的按钮button_3没有效果

为什么会这样?我认为问题可能出在 class 中的私有变量上,但我不确定。

HTMLid等同于Qt中的objectName属性所以添加:

self.button_3.setObjectName("button_3")