首页 > 解决方案 > 造型问题。无法访问特定按钮

问题描述

我想将图像添加到我的按钮。我将所有样式都放在一个单独的文件中。

根据Qt docs https://doc.qt.io/qt-5/stylesheet-syntax.html#selector-types我应该能够使用以下语法访问特定按钮

QPushButton#my_button_name {}

但它似乎不起作用。这是我的代码中的一个示例:

# script with widgets and layouts

class Tab1():
    self.button1 = QPushButton()


# styling script

def button_style():
    return '''QPushButton#button1 {font:15px;}'''

我误会了什么?我尝试添加“自我”。到样式脚本中的名称,但它也不起作用。

标签: pythonpyqtpyside2qtstylesheets

解决方案


样式表的名称选择器必须通过设置objectName属性来使用;python 属性命名对此完全没用,因为 Qt 对此一无所知。

为了根据需要正确应用样式表,您需要设置对象名称:

    # ...
    self.button1 = QPushButton()
    self.button1.setObjectName('button1')
    self.setStyleSheet('QPushButton#button1 {font:15px;}')

推荐阅读