Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: Alp от Июнь 01, 2010, 14:41



Название: setStyleSheet и управление внешним видом через objectName
Отправлено: Alp от Июнь 01, 2010, 14:41
Для виджета устанавливаю некоторую таблицу стилей
#id1 {...}
#id2 {...}
#id3 {...}
и хочу что бы его внешний вид менялся при смене objectName. Однако актуальная смена внешнего вида (в т.ч. и пронаследованного от родителя, если у того есть своя таблица стилей) происходит только при вызове setStyleSheet() (точнее - метода polish() для стиля). Вопрос: можно ли без плясок с кастованием одного в другое вызвать polish или его содержащий метод непосредственно для виждета, а не для его private-класса?

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


Название: Re: setStyleSheet и управление внешним видом через objectName
Отправлено: Alp от Июнь 01, 2010, 14:51
Найдено: widget->style()->polish()


Название: Re: setStyleSheet и управление внешним видом через objectName
Отправлено: Alex Custov от Июнь 01, 2010, 17:45
стандартный метод, описанный в документации -
Код
C++ (Qt)
widget->setStyleSheet(widget->styleSheet());