Название: Проблема с setPalette при использовании setStyleSheet у родителя Отправлено: Semich от Январь 25, 2011, 19:42 Сегодня с толкнулся со следующей проблемой(на Qt 4.4 все работало нормально а на 4.7 все поехало):
У меня есть собственный редактор форм(на подобии qt дизайнера ), для удобства я добавил стили для деревьев и таблиц. В центральный виджет QMDIArea.На нем создаю QMdiSubWindow, а уже на эти окошки кидаю редактируемые элементы. У части элементов перегружена функция paint и они рисуются самостоятельно, часть объектов рисуется средствами Qt - кнопки, деревья,листбоксы и т.д. Изменение фонового цвета элементов производится через функцию setPalette. В Qt версии 4.4 все работало нормально, а в Qt 4.7 стиль от родительского объекта распространился и на QMdiSubWindow. Как можно решить данную проблему? Часть объектов использует стиль а часть нет. Вот накидал небольшой пример демонстрирующий мою проблему: Код: #include "widget.h" ах да, раньше Windows XP теперь Win7 Название: Re: Проблема с setPalette при использовании setStyleSheet у родителя Отправлено: shirushizo от Январь 25, 2011, 19:51 При классическом оформлении все применяется, как и раньше в WinXP?
Сначала применяй QPalette к родителю, а потом детям - все будет нормально. Название: Re: Проблема с setPalette при использовании setStyleSheet у родителя Отправлено: Semich от Январь 25, 2011, 19:58 В при классическом оформлении та же фигня.
Немного не понял: Цитировать Сначала применяй QPalette к родителю, а потом детям - все будет нормально. В примере я хочу по нажатию на кнопку поменять цвет у QTextEdit, из за стиля у виджета это не срабатывает, но я вовсе не хочу менять цвет у родительского виджета. |