2008-09-19 14 views
0

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

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

ответ

1

Два возможного решение:

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

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

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