Russian Qt Forum
Ноябрь 24, 2024, 14:57
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Пользовательский интерфейс (GUI)
>
QTableWidget "подсветка" строк
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: QTableWidget "подсветка" строк (Прочитано 6773 раз)
AlphaGh0St
Гость
QTableWidget "подсветка" строк
«
:
Декабрь 29, 2014, 02:26 »
Всем привет!
Подскажите, если ли возможность в QTableWidget "подсвечивать" строки?
Например, добавился новый элемент в таблицу, и чтобы вся строка добавленного элемента моргнула зелёным.
А если элемент удалился, то перед удалением, его строка в таблице моргнула красным.
Благодарю.
Записан
gil9red
Administrator
Джедай : наставник для всех
Offline
Сообщений: 1805
Re: QTableWidget "подсветка" строк
«
Ответ #1 :
Декабрь 29, 2014, 07:03 »
Цитата: AlphaGh0St от Декабрь 29, 2014, 02:26
Всем привет!
Подскажите, если ли возможность в QTableWidget "подсвечивать" строки?
Например, добавился новый элемент в таблицу, и чтобы вся строка добавленного элемента моргнула зелёным.
А если элемент удалился, то перед удалением, его строка в таблице моргнула красным.
Благодарю.
Нет. Придется самому это реализовывать.
Записан
https://github.com/gil9red
https://ru.stackoverflow.com/users/201445/gil9red
Пантер
Administrator
Джедай : наставник для всех
Offline
Сообщений: 5876
Жаждущий знаний
Re: QTableWidget "подсветка" строк
«
Ответ #2 :
Декабрь 29, 2014, 09:09 »
Пиши свой делегат.
Записан
1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Johnik
Крякер
Online
Сообщений: 339
Re: QTableWidget "подсветка" строк
«
Ответ #3 :
Декабрь 29, 2014, 09:38 »
Цитата: Пантер от Декабрь 29, 2014, 09:09
Пиши свой делегат.
Делегату как-то еще надо сообщить о перерисовке строки.
Мое мнение, что проще "помигать" моделью, используя роль:
Qt::BackgroundRole
Записан
Пантер
Administrator
Джедай : наставник для всех
Offline
Сообщений: 5876
Жаждущий знаний
Re: QTableWidget "подсветка" строк
«
Ответ #4 :
Декабрь 29, 2014, 09:47 »
Изменение в модели роли не даст результата, если вьюха не перерисуется, так что полюбому придется вьюху дергать на перерисовку.
Записан
1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Old
Джедай : наставник для всех
Offline
Сообщений: 4350
Re: QTableWidget "подсветка" строк
«
Ответ #5 :
Декабрь 29, 2014, 09:50 »
Цитата: Пантер от Декабрь 29, 2014, 09:47
Изменение в модели роли не даст результата, если вьюха не перерисуется, так что полюбому придется вьюху дергать на перерисовку.
Почему? Если модель посылает все необходимые события, то вьюха будет перерисовывать, причём именно то, что захочит модель.
Записан
Пантер
Administrator
Джедай : наставник для всех
Offline
Сообщений: 5876
Жаждущий знаний
Re: QTableWidget "подсветка" строк
«
Ответ #6 :
Декабрь 29, 2014, 09:59 »
Цитата: Old от Декабрь 29, 2014, 09:50
Цитата: Пантер от Декабрь 29, 2014, 09:47
Изменение в модели роли не даст результата, если вьюха не перерисуется, так что полюбому придется вьюху дергать на перерисовку.
Почему? Если модель посылает все необходимые события, то вьюха будет перерисовывать, причём именно то, что захочит модель.
А, да, забыл про события.
Записан
1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
AlphaGh0St
Гость
Re: QTableWidget "подсветка" строк
«
Ответ #7 :
Декабрь 29, 2014, 13:12 »
Но ведь QTableWidget - Item-Based, получится ли к нему сделать делегат?
Записан
Johnik
Крякер
Online
Сообщений: 339
Re: QTableWidget "подсветка" строк
«
Ответ #8 :
Декабрь 29, 2014, 13:25 »
Никогда не использовал
QTableWidget
(всегда только View + Model), но он наследует QTableView, а значит можно установить и делегат и получить модель.
Записан
kambala
Джедай : наставник для всех
Offline
Сообщений: 4747
Re: QTableWidget "подсветка" строк
«
Ответ #9 :
Декабрь 29, 2014, 14:57 »
Код
C++ (Qt)
QTableWidget
*
item
;
// нужный айтем
item
->
setBackground
(
QBrush
(
Qt
::
green
)
)
;
Записан
Изучением C++ вымощена дорога в Qt.
UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
AlphaGh0St
Гость
Re: QTableWidget "подсветка" строк
«
Ответ #10 :
Декабрь 29, 2014, 22:16 »
Цитата: kambala от Декабрь 29, 2014, 14:57
Код
C++ (Qt)
QTableWidget
*
item
;
// нужный айтем
item
->
setBackground
(
QBrush
(
Qt
::
green
)
)
;
То, что нужно. Спасибо!
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...