You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

QSS中ID选择器选中正确QPushButton却不生效是什么原因?

问题原因

QSS的ID选择器(语法为控件类型#名称)匹配的是Qt控件的objectName属性,与Python类中的实例变量名无关。你当前仅将实例变量命名为self.button_3,没有给对应的QPushButton控件设置objectName为button_3,因此选择器无法匹配到目标控件,指定样式无法生效。

解决方案

在创建button_3控件后,调用setObjectName方法设置其对象名和QSS选择器匹配即可,修改后的对应代码片段如下:

self.button_1 = QPushButton("button_1")
self.button_2 = QPushButton("button_2")
self.button_3 = QPushButton("button_3")
# 新增这行设置objectName,和QSS选择器中的ID对应
self.button_3.setObjectName("button_3")

ID选择器的优先级高于通用的控件类型选择器,完成设置后button_3会优先应用黄色背景的指定样式,其余按钮继续使用通用的红色背景样式。

内容的提问来源于stack exchange,提问作者EnkiduGilgamesh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 15:54:03