LINUX.ORG.RU

[qt] - ListWidget - OwnerDraw

 


0

0

Нужно рядом с каждым элементом в ListWidget рисовать свою картинку. Да и текст выводить разными шрифтами в несколько строк. В идеале хотелось бы реализовать свою функцию onPaint(), которая бы вызывалась для отрисовки каждого элемента в ListWidget.

Такое возможно? Если нет, возможно ли это реализовать с помощью ListView?

★★

непосредственно с Qt не работал, но по опыту Swing такое делается наследованием ListWidget/ListView с реализацией собственной функции.

shuthdar ★★★
()

Частично. При помощи QListView можно лишь отдекорировать ячейку, с содержимым, думаю, придется как-то иначе управляться.
Я как-то пытался убрать отступ в ячейке, для этого пришлось наследовать QStyle и переделывать текущий стиль.
Можно, но геморно.

VoofT
()
Ответ на: комментарий от lemas

Это можно сделать на чём угодно, QScrollArea + QWidget или QListView, рекомендую открыть исходники и посмотреть. В вашем случае даже модель не нужно править, просто переопределить QListView или QStyledItemDelegate и реализовать собственную отрисовку.

Dendy ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.