Представление таблицы и списка с одной моделью в Qt

StackOverflow https://stackoverflow.com/questions/102789

  •  01-07-2019
  •  | 
  •  

Вопрос

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

Проблема в том, что в списке отображается первый столбец каждой строки модели.Я хочу, чтобы вместо этого отображался заголовок каждой строки (чтобы в списке было написано «кадр 1, кадр 2 и т. д.»).Есть ли способ сделать это?

Это было полезно?

Решение

Два возможных решения:

  1. Попробуйте использовать прокси-модель (подкласс QAbstractProxyModel), которая обращается к заголовкам строк как к столбцам в одной строке.Нетривиально, поскольку прокси-модель отображает в качестве данных то, что исходная модель считает заголовком.

  2. Отобразите второй 2D-вид вашей модели, но скройте все, кроме заголовков столбцов.Поскольку ваши кадры представляют собой строки, вам понадобится прокси-модель для перемещения между строками и столбцами.

ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ:На самом деле я не реализовал ни одно из решений.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top