Здравствуйте, гость ( Вход | Регистрация )
Mae Stro | Дата 14.8.2009, 9:38 |
Мне кажется, что update() - вполне правильное решение. Когда я пробовал в последний раз ни update() ни polish() результатов не давали. ну, на 4.5.2 этот код работает
...
А как иначе движек узнает о том, что свойство изменилось и нужно перерисовать виджет? Вообщето установка динамический свойств генерирует QDynamicPropertyChangeEvent По идее, разработчики должны были туда внести перерисовку по обстоятельствам, с минимальными накладными расходами. Однако у них там есть что-то, имеющее отношение к шрифтам - и все. А style()->polish(...) - это примение кувалды, чтоб забить гвоздик. |
|
SABROG | Дата 14.8.2009, 8:08 |
А что за код прислали? Цитата This is not a bug. You should use something like this: QCheckBox:checked { border:1 solid red; } QCheckBox { border: 1 solid green; } instead you are using QLineEdit, which will not apply to QCheckBox. Best Regards, -- George Liu, Release Engineer Nokia, Qt Software Мне кажется, что update() - вполне правильное решение. Когда я пробовал в последний раз ни update() ни polish() результатов не давали. |
|
Tonal | Дата 14.8.2009, 6:57 |
Мне кажется, что update() - вполне правильное решение. Правда звать его нужно в коде установки свойства: set_stage_active. А как иначе движек узнает о том, что свойство изменилось и нужно перерисовать виджет? |
|
Mae Stro | Дата 13.8.2009, 23:20 |
Я думаю речь все таки о CSS, а не GSS. виноват, свой приватный термин опубликовал Все-таки CSS больше к HTML идет и в Qt юзается, а эти стили к движку предназначены. А что за код прислали? Если из доков, то это нуль. еще вариант - раскапывая setStyleSheet... так тоже работает... но увы, все ручная сборка
|
|
SABROG | Дата 13.8.2009, 22:08 |
Я думаю речь все таки о CSS, а не GSS. ЗАРАБОТАЛО, стили начали меняться. Но ведь это ДЕЙСТВИТЕЛЬНО ТУПОЕ РЕШЕНИЕ. Я писал по этому поводу троллям, их официальный ответ был "This is not a bug." и привели мне код, который совершенно не в кассу. Типа я не умею готовить кошек. Может быть есть смысл еще раз напомнить об этом? Создай еще один багрепорт. |
|
Mae Stro | Дата 13.8.2009, 22:01 |
Доброго времени суток. Вопрос, как настроить Qt так, чтоб смена property таки отображалась стилями GSS? У меня есть несколько однотипных кнопок на форме (наследники QPushButton). Задумалось мне выделить последнюю нажатую кнопку. Задал переменную в классе:
в эвенте на клик по кнопке прописал (bt - указатель на нажатую кнопку):
в файле стиля:
и... ничего. Проперти меняются, выделение цветом бордюра отсутствует. Только если выставить проперти до первого show() формы - тогда они есть. Смена проперти в рантайме игнорится, стиль кнопок не меняется. Ок, может быть, Qt не работает с динамическими свойствами? Определил свойство через Q_PROPERTY.
Ведь статику то движок перерисовывает, видно хотя бы по enabled! Реакция - ноль, стили не меняются. Ок, смодил код нажатия на кнопку:
то есть тупо присваиваю абстрактный стиль кнопке. ЗАРАБОТАЛО, стили начали меняться. Но ведь это ДЕЙСТВИТЕЛЬНО ТУПОЕ РЕШЕНИЕ. Как правильно решить вопрос? |
|
Просмотр темы полностью (откроется в новом окне) | |
Текстовая версия | Сейчас: 29.3.2024, 18:54 |