crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Как изменить цвет у текущего элемента в QTableView?
mva
  опции профиля:
сообщение 9.1.2010, 12:48
Сообщение #1


Участник
**

Группа: Участник
Сообщений: 104
Регистрация: 15.3.2009
Из: Киров
Пользователь №: 615

Спасибо сказали: 3 раз(а)




Репутация:   0  


Добрый день всем!

Имеется некая форма...



Нужно сделать так, чтобы текущий элемент выделялся другим цветом, отличным от цвета строки. Например так...



Кто может помочь? Заранее спасибо.


Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
 
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
igor_bogomolov
  опции профиля:
сообщение 9.1.2010, 18:12
Сообщение #2


Профессионал
*****

Группа: Сомодератор
Сообщений: 1215
Регистрация: 22.3.2009
Из: Саратов
Пользователь №: 630

Спасибо сказали: 235 раз(а)




Репутация:   29  


Можно создать делегат, и перекрыть в нем метод paint следующим образом
void Delegate::paint(QPainter * painter, const QStyleOptionViewItem & option, const QModelIndex & index) const
{
    if (option.state.testFlag(QStyle::State_HasFocus)) {
        QStyleOptionViewItem opt(option);
        QPalette p = opt.palette;
        p.setColor(QPalette::Highlight, Qt::green);
        opt.palette = p;
        opt.showDecorationSelected = true;

        QItemDelegate::paint(painter, opt, index);
    } else {
        QItemDelegate::paint(painter, option, index);
    }
}


Сообщение отредактировал igor_bogomolov - 9.1.2010, 18:17
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 22.12.2024, 12:09