У меня есть собственный виджет, производный от QPushButton
, MyButton
. Он реализован в одном файле .cpp
, и я использую его в Qt Creator в форме моего приложения (я добавил QPushButton
, а затем повысил его до MyButton
).
Как обсуждалось здесь: -f">Должен ли я действительно использовать один файл qss для своего приложения вместо того, чтобы иметь один файл для каждого (UI) класса? Я хочу, как правило, установить его CSS внутри его конструктора (общий вид кнопки, фон изображение, поведение при наведении и т. д.), но я также хотел бы иметь возможность установить его в Qt Creator (возможно, настроить размер/цвет шрифта, как правило, для конкретной кнопки).
Проблема в том, что при выполнении вызова setupUi
создаются мои кнопки, они устанавливают свои стили в своих конструкторах, но затем Qt применяет стили, установленные в Qt Creator, немедленно переопределяя мои.
Что я могу сделать, чтобы добиться этого эффекта?
showEvent
. Но если ваши таблицы стилей не являются относительно простыми — это, вероятно, будет проблемой — синтаксический анализ CSS (или QSS) — непростая задача. Возможно, вы могли бы попробовать просто добавить (или добавить) свою таблицу стилей по умолчанию и посмотреть, работает ли она. - person Rostislav   schedule 07.10.2015setupUi
), поэтому я не могу это контролировать. Если бы мой CSS был установлен после, Qt применил тот, что установлен в Qt Creator, тогда это могло бы сработать. - person user4520   schedule 08.10.2015setupUi
отвечает, среди прочего, за применение таблицы стилей, установленной в Qt Creator. Если после этого я вызовуsetStylesheet
, он перезапишет все предыдущие стили, если только я не объединю их следующим образом:setStyleSheet(styleSheet().append(newStyleSheet));
. Однако функцияsetupUi
выполняется после моих вызововsetStylesheet
, так что это бесполезно. - person user4520   schedule 11.10.2015