![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
Steklova Olga |
![]()
Сообщение
#1
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 198 Регистрация: 27.9.2011 Из: Санкт-Петербург Пользователь №: 2912 Спасибо сказали: 5 раз(а) Репутация: ![]() ![]() ![]() |
Всем привет
![]() 1) Какая QPalette::ColorRole в QPalette QListWidget'а используется для отображения текста !isEnabled item'a? 2) Какая QPalette::ColorRole в QPalette QListWidget'а используется для отображения фона !isEnabled item'a? Та же, что и для isEnabled, но !isSelected item'a (т.е. QPalette::Base)? Можно QListWidget'у задать такую QPalette, в которой одновременно было бы указано, что цвет фона !isEnabled item'a в !isEnabled QListWidget'е должен быть один (например yellow), а цвет фона !isEnabled item'a в isEnabled QListWidget'е должен быть другой (например white)? 3) С помощью CSS можно указать цвета текста и фона !isEnabled item'a в QListWidget'е (без учета isEnabled/!isEnabled QListWidget'а): Можно QListWidget'у задать такой styleSheet, в котором одновременно было бы указано, чтоцвет фона !isEnabled item'a в !isEnabled QListWidget'е должен быть один (например yellow), а цвет фона !isEnabled item'a в isEnabled QListWidget'е должен быть другой (например white)?
|
|
|
Алексей1153 |
![]()
Сообщение
#2
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2943 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: ![]() ![]() ![]() |
Оля, в QtCreator , в редакторе формы в свойствах найди palette, откроется редактор. Там выбери детальное отображение цветов. А внизу окна - режим, который хочешь настраивать. И экспериментируй , так сказать, визуально )) Я лично там путаюсь немного, да и редко пользуюсь этим
потом можно открыть *.ui редактируемого диалога и найти, как там что расставилось. |
|
|
Steklova Olga |
![]()
Сообщение
#3
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 198 Регистрация: 27.9.2011 Из: Санкт-Петербург Пользователь №: 2912 Спасибо сказали: 5 раз(а) Репутация: ![]() ![]() ![]() |
1) Какая QPalette::ColorRole в QPalette QListWidget'а используется для отображения текста !isEnabled item'a? ColorRole QPalette::Dark исп для отобр текста !isEnabled item'a (isEnabled и !isEnabled QListWidget'а).2) Какая QPalette::ColorRole в QPalette QListWidget'а используется для отображения фона !isEnabled item'a? ColorRole QPalette::Base исп для отобр фона (!isEnabled и !isSelected) item'a isEnabled QListWidget'а.ColorRole QPalette::Window исп для отобр фона (!isEnabled и !isSelected) item'a !isEnabled QListWidget'а. 3) Можно QListWidget'у задать такую QPalette или такой styleSheet, где одновременно было бы указано, что Видимо, нельзя. Ну и не надо.цвет фона !isEnabled item'a в !isEnabled QListWidget'е должен быть один (например yellow), а цвет фона !isEnabled item'a в isEnabled QListWidget'е должен быть другой (например white)? 4)Мне, собственно, надо было внести следующие изменения в вариант по умолчанию: - установить черный цвет текста для (!isEnabled и !isSelected) item QListWidget'а, - отменить выделение цветом selected item'ов в !isEnabled QListWidget, - отменить выделение цветом selected item'ов в isEnabled QListWidget, который !hasFocus. Это получилось двумя способами. С помощью QPalette:
С помощью CSS:
|
|
|
Алексей1153 |
![]()
Сообщение
#4
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2943 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: ![]() ![]() ![]() |
в qss можно использовать алиасы цветов, список имён погляди в описании QColor
например background: white; Сообщение отредактировал Алексей1153 - 15.5.2014, 13:55 |
|
|
Steklova Olga |
![]()
Сообщение
#5
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 198 Регистрация: 27.9.2011 Из: Санкт-Петербург Пользователь №: 2912 Спасибо сказали: 5 раз(а) Репутация: ![]() ![]() ![]() |
Есть некоторые различия.
1) Смотрим Qt | Help | QColor | SVG color keyword names | 4.4 Recognized color keyword names: darkblue rgb( 0, 0, 139) 2) Смотрим Qt | Help | QPalette: QPalette::Highlight A color to indicate a selected item or the current item. By default, the highlight color is Qt::darkBlue. 3) Смотрим Получаем: "r,g,b 49 106 197"А мне в qss нужен цвет Qt::darkBlue, а не darkblue, поэтому нужен код. |
|
|
Steklova Olga |
![]()
Сообщение
#6
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 198 Регистрация: 27.9.2011 Из: Санкт-Петербург Пользователь №: 2912 Спасибо сказали: 5 раз(а) Репутация: ![]() ![]() ![]() |
Возник еще один вопрос.
Например, имеется QListWidget с двумя item'ами: item(0) isEnabled, item(1) !isEnabled. При клике по item(0) он отображается белым по темно-синему. Ok Но, почему-то, если после этого несколько раз подряд кликнуть по item(1), то item(0) отобразится черным по белому, только с рамкой штрихованного стиля. Почему срабатывает клик по недоступному item? И почему он так обрабатывается? |
|
|
Алексей1153 |
![]()
Сообщение
#7
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2943 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: ![]() ![]() ![]() |
я думаю, что все изменения палитры нужно вводить по одному шагу (цвету), после чего смотреть поведение контрола. А так - одно гадание, почему и как теперь починить )
|
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 12.4.2025, 10:38 |