
Таблицу можно расширить, и вы можете увидеть первые три элемента, которые я хочу реализовать: редактор форматированного текста, изображения, небольшой аудиоплеер. Вы можете добавить эти элементы как блоки в ячейку, которая ведет себя как список.
Я уже пробовал три подхода:
- Использование QGridLayout в качестве структуры таблицы и добавление пользовательских виджетов в качестве элементов. Легко реализовать, а поведение изменения размера GridLayout почти идеально подходит для моей таблицы. Я отказался от этой идеи, потому что многие люди указывали на потенциальные проблемы с производительностью.
- Использование QTableView или QAbstractItemView: мне удалось создать функциональную, но простую таблицу с помощью пользовательских QStyledItemDelegate, но производительность с изображениями была низкой.
- Использование Graphics Framework с QGraphicsView и QGraphicsGridLayout. Элементом являются QGraphicWidgets . Это должно иметь гораздо лучшую производительность, но я изо всех сил пытаюсь реализовать поведение изменения размера, чтобы оно было таким, как в подходе №. 1.
Подробнее здесь: https://stackoverflow.com/questions/792 ... e-elements