Здравствуйте, гость ( Вход | Регистрация )
Andrewshkovskii | Дата 11.8.2011, 8:53 |
С палитрой беда вышла. Если меняешь палитру, то все чилды (например, QCalendarWidget у QDateTimeEdit) тоже её меняет, что не приемлимо. Есть workaround такой : Положить за виджет QFrame и ему красить границы. Только проблема с тем, что программно я не нашел как это сделать, т.е. сначала надо найти позицию виджета в лейауте (QGridLayout, QFormLayout, QVbox, QHBox..) но это, видимо, не возможно. (хотя точнее сказать - нет простого метода это сделать, найти-то перебором всегда можно) |
|
Andrewshkovskii | Дата 10.8.2011, 8:37 |
Если нет, то подскажите , пожалуйста, как быть в случае, что мне надо отобразить визуально то, что пользователь вводи не верную информацию в инпуты? Просто изменяй в нужный момент палитру требуемого виджета (в твоем случае в качестве colorRole будет QPalette::Base)Плюс к тому-же, где можно посмотреть как выглядят whatsThis и statusTip виджетов? Уточни, что конкретно ты хочешь?Как мне тогда решить идеологический вопрос о том, как отображать инпуты, где введены не верные значения? Через палитру? Хорошо, сейчас погляжу Я предполагал использовать Qcss для визуального отображения , и какое-то из значений statusTip, whatsThis, toolTip для указания, какие же значения в инпут должны попасть. Но я не смог найти как же визуально выглядят statusTip, toopTip показывается с большим оффсетом от виджета.. P.S.: к сожалению, приложения будет работать в основном под виндами.. но и там есть 2 разных стиля (стиль Xp и стиль Vista) |
|
igor_bogomolov | Дата 9.8.2011, 19:33 |
как-то можно получить текущее изображения для сабконтролов темы ОС из кода??А точнее, как бы этот самый пиксмап да использовать в Qcss? средствами qss твоя задача не решаема. ОФФ: Я много раз уже писал, что не нужно без надобности этот qss пользовать. Все чего добьетесь - это поломаете нативность отображения вашего приложения под разными платформами и даже разными стилями одной платформы. Если нет, то подскажите , пожалуйста, как быть в случае, что мне надо отобразить визуально то, что пользователь вводи не верную информацию в инпуты? Просто изменяй в нужный момент палитру требуемого виджета (в твоем случае в качестве colorRole будет QPalette::Base)Плюс к тому-же, где можно посмотреть как выглядят whatsThis и statusTip виджетов? Уточни, что конкретно ты хочешь? |
|
Andrewshkovskii | Дата 9.8.2011, 17:26 |
как-то можно получить текущее изображения для сабконтролов темы ОС из кода??А точнее, как бы этот самый пиксмап да использовать в Qcss?Ведь эти изображения сабконтролов можно получить из QStyle::StandardPixmap? Если нет, то подскажите , пожалуйста, как быть в случае, что мне надо отобразить визуально то, что пользователь вводи не верную информацию в инпуты? Плюс к тому-же, где можно посмотреть как выглядят whatsThis и statusTip виджетов? |
|
ilyabvt | Дата 9.8.2011, 17:00 |
http://www.forum.crossplatform.ru/index.php?showtopic=7278 Вот недавно уже была тема. |
|
Litkevich Yuriy | Дата 9.8.2011, 16:40 |
Как это можно поправить? Цитата Замечание: В случае сложных виджетов, таких как QComboBox и QScrollBar, если одно свойство или субэлемент управления настраивается, то и все остальные свойства или субэлементы управления также должны настраиваться. (из асистента) |
|
Andrewshkovskii | Дата 9.8.2011, 10:34 |
Репост отсюда. При изменении CSS у виджета, у когорого есть какие-то саб-контролы (QComboBox - down_arrow и т.д.) убирается CSS текущей темы от ОС. Т.е. саб-контролы из XP превращаются в саб-контролы из Win'98: (border : 1px solid red) Как это можно поправить? т.е. оставить изображение саб-контролов от текущей темы ОС? |
|
Просмотр темы полностью (откроется в новом окне) | |
Текстовая версия | Сейчас: 19.4.2024, 21:22 |