Я знаю, что это довольно старый вопрос, но недавно у меня была похожая проблема.
Во всяком случае, для "3".Я обнаружил, что вы можете использовать «селектор свойств» в qss и просто установить значение свойства для соответствующих виджетов.
например, в вашем коде C ++:
widget1->setProperty( "StyleClass", "MyCustomLAF" );
widget2->setProperty( "StyleClass", "MyCustomLAF" );
, затем в qss:
QWidget[StyleClass="MyCustomLAF"] { color : purple ; }
Тогда для любого экземпляра QWidget (или производного класса) со свойством «StyleClass», установленным в «MyCustomLAF», будет применен стиль color: purple.Извините, если приведенное ниже объяснение немного запутанно или технически неверно, но я намекаю, что свойство "StyleClass" - это то, что Qt называет "динамическим свойством", которое (по моим словам) означает свойство, которое добавляется к экземпляру QObjectво время выполнения, не будучи зарегистрированным в «meta stuff» с помощью макроса Q_PROPERTY.