QTableView: Как задать цвет фона для одной секции заголовка? |
Здравствуйте, гость ( Вход | Регистрация )
QTableView: Как задать цвет фона для одной секции заголовка? |
Steklova Olga |
12.3.2013, 13:34
Сообщение
#1
|
Участник Группа: Участник Сообщений: 198 Регистрация: 27.9.2011 Из: Санкт-Петербург Пользователь №: 2912 Спасибо сказали: 5 раз(а) Репутация: 4 |
Здравствуйте
Чтобы задать одинаковый цвет фона для всех секций заголовка делаю так:
Подскажите, пожалуйста, как задать для n-й секции заголовка один цвет, а для остальных - другой? |
|
|
lanz |
12.3.2013, 13:53
Сообщение
#2
|
Старейший участник Группа: Участник Сообщений: 690 Регистрация: 28.12.2012 Пользователь №: 3660 Спасибо сказали: 113 раз(а) Репутация: 8 |
Можно переопределить в модели headerData, чтобы он в ответ на Qt::BackgroundRole, возвращал нужный QBrush.
Например:
|
|
|
Steklova Olga |
12.3.2013, 15:44
Сообщение
#3
|
Участник Группа: Участник Сообщений: 198 Регистрация: 27.9.2011 Из: Санкт-Петербург Пользователь №: 2912 Спасибо сказали: 5 раз(а) Репутация: 4 |
lanz, у меня не работает то, что вы предлагаете... Вот мой код.
|
|
|
RazrFalcon |
12.3.2013, 16:35
Сообщение
#4
|
Zombie Mod Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212 |
Если верить гуглу - то это не возможно.
Даже тут уже бы подобный вопрос: http://www.forum.crossplatform.ru/index.php?showtopic=5440 Разве что попробовать еще переписать paintEvent у QHeaderView. https://bugreports.qt-project.org/browse/QTBUG-2474 |
|
|
lanz |
12.3.2013, 16:43
Сообщение
#5
|
Старейший участник Группа: Участник Сообщений: 690 Регистрация: 28.12.2012 Пользователь №: 3660 Спасибо сказали: 113 раз(а) Репутация: 8 |
Это проблема дефолтного стиля.
Например если сделать так
то все в порядке. Не очень спортивно конечно, зато дешево и сердито |
|
|
wiz29 |
12.3.2013, 16:48
Сообщение
#6
|
Старейший участник Группа: Участник Сообщений: 600 Регистрация: 7.7.2010 Из: Санкт-Петербург Пользователь №: 1866 Спасибо сказали: 94 раз(а) Репутация: 12 |
Если верить гуглу - то это не возможно... Судя по исходникам версии 4.8.4, вы абсолютно правы. Без переопределения функции рисования, этого не добиться со стандартными представлениями. Это проблема дефолтного стиля. Например если сделать так
то все в порядке. Не очень спортивно конечно, зато дешево и сердито QMotifStyle вряд ли спасет, если приложение использует другой стиль. Будет коряво выглядеть. |
|
|
lanz |
12.3.2013, 16:54
Сообщение
#7
|
Старейший участник Группа: Участник Сообщений: 690 Регистрация: 28.12.2012 Пользователь №: 3660 Спасибо сказали: 113 раз(а) Репутация: 8 |
Цитата Будет коряво выглядеть. Норм! И потом - выбор невелик. Либо делать свой стиль под все приложение, либо свой paintEvent, который будет все равно корявый, так как оторван от всех стилей. EDIT: Либо перегрузить какой нибудь один стиль, чтобы он правильно рисовал хедеры и использовать только его. Сообщение отредактировал lanz - 12.3.2013, 16:58 |
|
|
Steklova Olga |
12.3.2013, 17:25
Сообщение
#8
|
Участник Группа: Участник Сообщений: 198 Регистрация: 27.9.2011 Из: Санкт-Петербург Пользователь №: 2912 Спасибо сказали: 5 раз(а) Репутация: 4 |
|
|
|
Текстовая версия | Сейчас: 28.4.2024, 5:45 |