Qt QTableView поток сверху вниз - PullRequest
1 голос
/ 11 октября 2011

У меня есть сетка, которая отображается с использованием элемента управления, наследуемого от QTableView. Прямо сейчас сетка отображается слева направо, а затем, когда все переполняется, она переходит к следующему ряду, как это

 -----------
| 1 | 2 | 3 |
|------------
| 4 |   |   |
|------------
|   |   |   |
 -----------

но я хочу, чтобы сначала он шел сверху вниз, а затем, когда все переполняется, он должен перейти к следующему столбцу, как это

 -----------
| 1 | 4 |   |
|------------
| 2 |   |   |
|------------
| 3 |   |   |
 -----------

Я в основном разработчик .Net, и это довольно тривиально с элементами управления .net winforms, но как мне получить QTableView, чтобы сделать это?

Спасибо

1 Ответ

3 голосов
/ 11 октября 2011

Отображаемые данные являются функцией вашей модели. Лучший способ изменить поведение - создать прокси QAbstractTableModel , который поменяет местами строки и столбцы. Насколько это будет сложно, зависит от вашей текущей модели. Похоже, у вас есть линейная модель, и представление просто представляет ее в виде таблицы, и в этом случае вы, вероятно, используете неправильную модель.

Если у вас действительно есть линейная модель, рассмотрите возможность использования QAbstractListModel и QListView . QListView обладает свойством flow , которое позволит вам выбирать между слева направо и сверху вниз.

...