Опитвам се да направя сериозно препроектиране на стандартни уиджети, използвайки Qt Style Sheets. И така, след като направих по-голямата част от това ръчно за различни уиджети от #objectName
селектори, реших да групирам подобни уиджети по някакъв начин.
Например, имам множество QFrames
, които действат като заглавки във вътрешни форми. И искам всички те да имат една и съща таблица със стилове. Един от начините да направите това е да използвате конвенцията за именуване (това е моят резервен вариант), т.е. QFrame[objectName|="prefix_"]
. Но исках да групирам своите джаджи по клас. Така че създадох прост клас заместител:
class HeaderFrame: public QFrame
{
public:
HeaderFrame(QWidget *parent = NULL): QFrame(parent) {}
};
Което ми позволи да популяризирам всички тези QFrames
до HeaderFrames
. След това се опитах да настроя
HeaderFrame { background-color: red; }
stylesheet към самия обект MainWindow (за да го накара да действа върху всички HeaderFrames), но няма да работи. Нищо не се променя в дизайнера на формуляри QtCreator и нищо не се променя след компилиране на приложение. Опитах различни варианти на този стилов лист, но нищо не работи.
И така, само Qt widgets (като QLabel, QFrame и т.н.) достъпни ли са за стилизиране по този начин? Или има някакъв начин да напишете таблица със стилове за вашата рекламирана джаджа?