Я пытаюсь переопределить стандартные виджеты, используя таблицы стилей 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 и т. Д.)?Или есть какой-нибудь способ написать таблицу стилей для вашего продвигаемого виджета?