5

2つのボタンがあるウィンドウがあります。

それぞれを違うスタイルシートで飾りたいです。QPushButtonもちろん、どちらもオブジェクト名は異なりますが、機能するのは汎用スタイルシートセレクターだけのようです。

私は試した:

QPushButton#myBtnObjectName1 {

/* style definitions */

}
QPushButton#myBtnObjectName2 {

/* style definitions */

}

を、に置き換えるか、またはのみを#使用して同じことを試みました。何も機能しません。ただ:.#myBtnObjetNameX

QPushButton {
/* style definitions */
}

間違った構文を使用していますか?または、コードから派生しQPushButton、それぞれに個別のクラス名を使用しない限り、これは単純に不可能ですか?

4

3 に答える 3

8

これには、QtDesignerで「accessibleName」を使用できます。そしてqssスタイルシートで:

より普遍的:

[accessibleName="alert-error"] {
    color: red;
}

またはより具体的に:

QPushButton[accessibleName="bigred"] {
   background-color: red;
}
于 2015-09-14T19:51:24.460 に答える
5

を使用してインスタンスを照合objectNameするには、セレクターを使用することもできます^=標準によると:

[att ^=val]値が接頭辞「val」で始まるatt属性を持つ要素を表します。

Qtの例:

QPushButton[objectName^="push"] { background-color: red; }

QPushButtonと呼ばれるオブジェクトpushButtonは一致しますが、と呼ばれるオブジェクトは一致しませんpbt

于 2018-04-04T10:56:01.373 に答える
3

はい、Qt Designerの「AccessibleName」も「ObjectName」だけでなく、設定する必要があります

于 2011-02-07T18:59:57.870 に答える