Я пытаюсь провести серьезную переоформление стандартных виджетов с использованием таблиц стилей Qt. Поэтому, выполнив большую часть этого вручную для разных виджетов с помощью селекторов #objectName
, я решил каким-то образом сгруппировать похожие виджеты.
Например, у меня есть несколько QFrames
, которые действуют как заголовки во внутренних формах. И я хочу, чтобы все они имели одну и ту же таблицу стилей. Один из способов сделать это - использовать соглашение об именах (это мой запасной вариант), то есть QFrame [objectName | = "prefix _"]
. Но я хотел сгруппировать свои виджеты по классам. Поэтому я создал простой класс-заполнитель:
class HeaderFrame: public QFrame
{
public:
HeaderFrame(QWidget *parent = NULL): QFrame(parent) {}
};
, который позволил мне преобразовать все эти QFrames
в HeaderFrames
. После этого я попытался установить таблицу стилей
HeaderFrame { background-color: red; }
для самого объекта MainWindow (чтобы он работал со всеми фреймами HeaderFrames), но это не сработало. Ничего не меняется в конструкторе форм QtCreator и ничего не меняется после компиляции приложения. Я пробовал разные варианты этой таблицы стилей, но ничего не работает.
Итак, доступны ли для стилизации таким образом только виджеты Qt (например, QLabel, QFrame и т. Д.)? Или есть способ написать таблицу стилей для продвигаемого виджета?