2016-12-12 12 views
0

У меня есть приложение, которое загружает файл стиля .qss и применяет таблицу стилей ко всему приложению. Моя проблема заключается в том, что он изменяет стиль по умолчанию QGroupBox вместо его подкласса, и я хотел бы использовать стиль по умолчанию QGroupBox в одном месте.
Вот пример применения прикладного приложения стиля, которое я пытаюсь заменить по умолчанию.Приложение ширины приложения Qt не перезаписывается локальным стилем по умолчанию

QGroupBox { 
    border: 0px solid gray; 
    border-bottom: 1px solid block; 
} 

Я попытался сбросить таблицу стилей с помощью

_ui->setupUi(this); 
_ui->myGroupBox->setStylesheet(""); 

Но это не работает. Из того, что я собрал, стиль приложения в целом должен был состоять из фазы setupUi() и, таким образом, быть перезаписан пустой (по умолчанию) таблицей стилей. Кажется, это не так.

Я также безуспешно пытался установить его непосредственно из Qt Designer или из файла qss.

myGroupBox { 
} 

Однако, если я ставлю border-bottom: 1px solid red; в файле QSS, он правильно зарегистрирован и отменяют стиль по умолчанию. Однако я не использую параметры по умолчанию, поэтому я не могу установить их вручную вручную.

Если я удаляю раздражающее правило qss, он отлично работает, но он прерывает приложение ui в 50 других местах, и у меня, к сожалению, нет времени на его реорганизацию прямо сейчас.

Я что-то упускаю, когда дело доходит до сброса к таблице стилей по умолчанию?

Спасибо.

ответ

0

Вы, кажется, смешиваете стили со стилем листы. Это разные звери. Когда у виджета есть таблица стилей, это больше не стилируется механизмом стиля, потому что стили в целом недостаточно гибки, чтобы их можно было модифицировать с помощью таблиц стилей, так как они, например. зависят от изображений, предоставленных платформой и т. д. Эти два механизма не связаны друг с другом: каждый может контролировать внешний вид виджета, но как только вы используете таблицу стилей, это все или ничего: механизм стиля не соответствует изображению.

Просто исправьте таблицу стилей, чтобы применить ее только к группам, к которым она должна применяться - вы можете выбрать их по имени или пути имени.

+0

Спасибо, я сделал это жестко и правильно и подклассифицировал QGroupBox, чтобы применить таблицу стилей в qss только к этому подклассу. Создание индивидуальных правил было бы сложным, их было несколько сотен. Принял некоторое время, но, вероятно, лучше в конце. – Leherenn