2011-10-11 80 views
1

我有一個使用從QTableView繼承的控件顯示的網格。現在的問題是顯示網格左到右,然後作爲東西溢出,它轉到下一行,這樣Qt QTableView從上到下的流程

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

,但我希望它去頂部至底部,然後再隨着事態的溢出,它應該去下一列這樣

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

我主要是.NET開發,它是非常容易的使用.NET WinForms控件,但我如何才能QTableView做到這一點?

謝謝

+0

有一個解決方案在http://stackoverflow.com/questions/21653253/how-to-change-orientation-of-qt-tableview – savolai

回答

3

顯示的數據是你模型的一個函數。改變行爲的最好方法是創建一個代理QAbstractTableModel,它交換行和列。這將是多麼複雜將取決於你當前的模型。它幾乎聽起來像是你有一個線性模型,並且視圖只是以類似於表格的方式呈現它,在這種情況下,你可能使用了錯誤的模型。

如果您確實有線性模型,請考慮使用QAbstractListModelQListView。 QListView然後有一個flow屬性,它允許你從左到右和從上到下進行選擇。