QTableView отображение изображения

436
08 мая 2017, 02:41

Допустим есть класс Book. В нем хранится описание книги и QImage. Как мне переопределить методы QAbstractTableModel чтобы в первом столбце выводилось это изображение, а во втором - текст. Не проще ли будет использовать QAbstrctListModel и в нем изменить ItemDelegate. Как это сделать?

Answer 1

Наиболее простой вариант - использовать роль Qt::DecorationRole при формировании значения ячейки в функции QAbstractItemModel::data. С помощью этой роли можно выводить в ячейке QImage (еще можно QIcon или QPixmap) без использования специальных делегатов.

Конкретно вывод картинок, при обработке роли Qt::DecorationRole, выполняет стандартный QStyledItemDelegate, этот делегат работает по умолчанию в представлениях. Либо проследите, что делегат, который вы используете, корректно обрабатывает роль Qt::DecorationRole. Так например, другой стандартный делегат QItemDelegate, будет выводить только QIcon или QPixmap, а QImage не будет.

READ ALSO
Написать список вещественных чисел с++ [требует правки]

Написать список вещественных чисел с++ [требует правки]

Помогите , срочноМне надо написать список вещественных чисел, и после серии подряд идущих повторяющихся чисел вставить количество их повторений

250
Перекодирование файла из Windows ANSI кодировки в utf-8

Перекодирование файла из Windows ANSI кодировки в utf-8

Появилась такая проблема во время разработки программы на C++Программа должна прочитать содержимое текстового файла input

282