Представление таблицы и списка с одной моделью в Qt
Вопрос
У меня есть 2D-модель, в которой каждая строка представляет кадр видео, а каждый столбец представляет объект.Объект может иметь разные состояния в каждом кадре, и это сохраняется в модели.Затем у меня есть QTableView, который показывает эти данные.В модели есть данные заголовка, поэтому каждая строка имеет заголовок типа «кадр k», а каждый столбец имеет заголовок типа «объект n».Эта таблица доступна для редактирования.Но я хочу, чтобы пользователь редактировал его по-другому.Другой способ — графическое представление, в котором отображается один кадр.Под графическим представлением находится список (ориентированный горизонтально), представляющий каждый кадр.Таким образом, пользователь может щелкнуть кадр в списке, и графический вид теперь отобразит этот кадр.
Проблема в том, что в списке отображается первый столбец каждой строки модели.Я хочу, чтобы вместо этого отображался заголовок каждой строки (чтобы в списке было написано «кадр 1, кадр 2 и т. д.»).Есть ли способ сделать это?
Решение
Два возможных решения:
Попробуйте использовать прокси-модель (подкласс QAbstractProxyModel), которая обращается к заголовкам строк как к столбцам в одной строке.Нетривиально, поскольку прокси-модель отображает в качестве данных то, что исходная модель считает заголовком.
Отобразите второй 2D-вид вашей модели, но скройте все, кроме заголовков столбцов.Поскольку ваши кадры представляют собой строки, вам понадобится прокси-модель для перемещения между строками и столбцами.
ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ:На самом деле я не реализовал ни одно из решений.