crossplatform.ru

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

 
Ответить в данную темуНачать новую тему
> Отображение иконки и текста в cell QTableView
Digger86
  опции профиля:
сообщение 27.6.2012, 15:51
Сообщение #1


Студент
*

Группа: Новичок
Сообщений: 17
Регистрация: 27.6.2012
Пользователь №: 3436

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




Репутация:   0  


Добрый день!
Использую связку QSqlQueryModel - QSortProxyModel - QTableView. Необходимо в некоторых столбцах слева от текста отобразить иконку (аналогично как в QtableWigetItem->setIcon). Подскажите, пожалуйста, изящный способ решения проблемы. Метод paint у делегата совершенно не хочется перегружать.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Гость_Гость_*
сообщение 27.6.2012, 17:14
Сообщение #2





Гости








    


Прокси модель,либо наследник от той модели которую используешь( не так реюзабельно но проще реализовать), с переопределенным методом data который возвращает необходимые значения для Qt::DisplayRole и Qt::DecorationRole,.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Digger86
  опции профиля:
сообщение 28.6.2012, 9:28
Сообщение #3


Студент
*

Группа: Новичок
Сообщений: 17
Регистрация: 27.6.2012
Пользователь №: 3436

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




Репутация:   0  


Спасибо! теперь разобрался!
QVariant filter_model::data ( const QModelIndex & index, int role) const
{
    if (!index.isValid())
        return QVariant();
    if (role == Qt::DecorationRole && index.column()==0)
        return QIcon("images/databaseroutes.ico");
    return mapToSource(index).data(role);
}
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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




RSS Текстовая версия Сейчас: 26.4.2024, 17:28