0

我有一堂像下面这样的课:

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,但不能设置QPushButton我的 GUI 周围的其他属性。

我已经看到了如何为子类设置样式表,但是我找不到为类的特定私有成员设置样式表的方法。有没有办法实现它?

4

2 回答 2

2

根据 eyllanesc 的建议,为您的按钮设置一个对象名称,并在样式表中使用ID 选择器:

m_button->setObjectName("myButton");

widget->setStyleSheet("QPushButton#myButton{...}");
于 2018-03-16T09:26:55.317 回答
1
 m_button->setStyleSheet(m_button->styleSheet().append("background-color: rgb(9, 91, 255);"));

这将为 m_button 设置背景颜色

于 2018-03-16T04:12:24.240 回答