Russian Qt Forum
Ноябрь 24, 2024, 07:01 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: SelectRows и State_Selected  (Прочитано 2479 раз)
folibis
Гость
« : Июнь 28, 2010, 08:35 »

У меня есть такая конструкция: QTableView(MyTable), в качестве модели используется класс, производный от QAbstractTableModel, для отрисовки использую делегат, производный от QStyledItemDelegate(MyTableDelegate).
нужно чтоб при клике выделялась только строка, для этого делаю:
Код:
MyTable->setSelectionBehavior(QAbstractItemView::SelectRows);
в событии MyTableDelegate::paint выделенную строку я отлавливаю так:
Код:
if(option.state & QStyle::State_Selected){тут закрашиваю строку цветом выделения}
Все отлично, но есть одно дополнительное условие - та ячейка, на которой был клик, должна быть закрашена отдельным цветом. Но вот как узнать эту ячейку, не могу понять. Все ячейки строки,и нужная мне тоже, все попадают под QStyle::State_Selected, как отделить зерна от плевел?
Записан
asvil
Гость
« Ответ #1 : Июнь 28, 2010, 08:42 »

if(option.state & QStyle::State_HasFocus) {тут закрашиваю строку цветом текущей ячейки}
Записан
folibis
Гость
« Ответ #2 : Июнь 29, 2010, 01:12 »

Супер, то что надо. Что то я все свойства прошел, а это не заметил. Спасибо!
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.052 секунд. Запросов: 21.