我有一个类似下面的课程:
class BigButton : public QWidget {
Q_OBJECT
public:
BigButton(QWidget* parent = nullptr);
virtual ~BigButton() = default;
void setSvgImagePath(const QString& imagePath);
void setLabel(const QString& label) override;
private:
QLabel* m_label;
QSvgWidget* m_svgImage;
QPushButton* m_button;
};
我想为我的应用程序创建一个样式表,允许设置私有QPushButton
成员m_button
的某些属性(如背景颜色),而不是我的GUI周围的其他QPushButton
我已经看过如何设置stylesheet for subclasses,但我找不到为类的特定私有成员设置样式表的方法。有没有办法实现它?
答案 0 :(得分:2)
根据eyllanesc的建议,set an object name到您的按钮,并使用样式表中的ID selector:
m_button->setObjectName("myButton");
widget->setStyleSheet("QPushButton#myButton{...}");
答案 1 :(得分:1)
m_button->setStyleSheet(m_button->styleSheet().append("background-color: rgb(9, 91, 255);"));
这将仅为m_button
设置背景颜色