QSSにも同様の使用法があります。
QPushButton#minBtn {
border-radius:2px;
border-image:url(:/images/btn_mini_normal.png);
}
#minBtnは、objectNameがminBtnであるボタンコントロールを正確に指定するプロパティであり、他のボタンコントロールには影響しません。
ただし、minBtnは、クラスで定義したQPushButtonオブジェクトの名前ではなく、objectName()インターフェイスを使用してQSSによって指定された名前であることに注意してください。例:
class XWidget : public QWidget {
Q_OBJECT
public:
explicit XWidget(QWidget *parent = nullptr);
private:
QPushButton *button;
};
このオブジェクトでは、QPushButtonのbuttonという名前の変数が定義されています。ボタンのプロパティがbuttonという名前でQSSに設定されている場合、ボタンは有効になりません。QSSはこのコントロールについてさえ知らないからです。このコントロールがあることをQSSに通知するには、setObjectName()で指定する必要があります。
button->setObjectName("minBtn");
次に、QSSでminBtnという名前を使用して、有効にする設定ボタンのプロパティを指定します。