我有一个使用从QTableView继承的控件显示的网格。现在网格从左到右显示,然后当事情溢出时,它会像这样进入下一行
-----------
| 1 | 2 | 3 |
|------------
| 4 | | |
|------------
| | | |
-----------
但是我希望它首先从上到下,然后当事情溢出时,它应该像这样进入下一列
-----------
| 1 | 4 | |
|------------
| 2 | | |
|------------
| 3 | | |
-----------
我主要是.Net开发人员,使用.net winforms控件非常简单,但我如何让QTableView
执行此操作?
由于
答案 0 :(得分:3)
显示的数据是您的模型的函数。更改行为的最佳方法是创建交换行和列的代理QAbstractTableModel。这将是多么复杂将取决于您当前的模型。几乎听起来你有一个线性模型,并且视图只是以类似表格的方式呈现它,在这种情况下你可能使用了错误的模型。
如果您确实拥有线性模型,请考虑使用QAbstractListModel和QListView。然后,QListView具有flow属性,允许您从左到右和从上到下进行选择。