[問題] Qt的listWidget顯示方式(已附圖)

作者: ruby122825 (Ruby)   2015-06-23 08:09:24
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
Windows, Linux
問題(Question):
想問一下Qt的List widget可以像windows的檔案總管一樣,將檔案分成數列來顯示嗎?
我現在就是在做一個畫面只讓csv檔的檔名出現在畫面,
失敗成品:
http://666kb.com/i/czqzh1ug0chb0vc8u.jpg
但是不知道該如何讓他的檔名可以顯示為很多列,而且顯示的位置大小固定。
如下圖:
http://666kb.com/i/czqzi8kk6gfh2pr5q.jpg
(小畫家剪貼圖很爛請原諒)
我想要每列最大有25行,超過25個檔案的話,就換行顯示
我不想要有直的scroll bar,只想要有橫的scroll bar
還是我該使用QtableView?
套入QFileSystemMolde
但是我發現我也遇到一樣無法多排顯示檔名的問題
而且還多幾列顯示檔案大小,檔案種類...
餵入的資料(Input):
Local 的檔案
預期的正確結果(Expected Output):
使用Qlistwidget將檔案顯示的方式跟windows檔案總管一樣
補充說明(Supplement):
我是初學者還請鞭小力一點>__<
作者: uranusjr (←這人是超級笨蛋)   2015-06-23 08:33:00
看不懂, 請附圖
作者: ruby122825 (Ruby)   2015-06-23 09:33:00
對不起,手機不穩我無法編輯文章
作者: BlazarArc (Midnight Sun)   2015-06-23 10:34:00
檔案總管看起來不是tableview嗎http://doc.qt.io/qt-5.4/qtableview.html
作者: Thisisnotptt (這不是PTT)   2015-06-23 10:36:00
是Qt QTreeWidget嗎,可以按[+]顯示資料夾下更多檔
作者: BlazarArc (Midnight Sun)   2015-06-23 22:37:00
自己建 model 灌進TableView,
作者: ruby122825 (Ruby)   2015-06-24 08:02:00
該用什麼model好啊?對不起呀~我文科出身真的不太會
作者: BlazarArc (Midnight Sun)   2015-06-24 11:42:00
http://doc.qt.io/qt-5.4/qstandarditemmodel.htmlrows 跟 columns 要根據你的需求自己設定
作者: uranusjr (←這人是超級笨蛋)   2015-06-24 23:25:00
我覺得 subclass QAbstractTableModel 應該更方便http://d.pr/19Ud9 隨意做了一個 demo, 應該不難理解
作者: BlazarArc (Midnight Sun)   2015-06-24 23:45:00
哦哦 樓上專業 我也學到東西 XD
作者: ruby122825 (Ruby)   2015-06-27 20:32:00
uranusjr真是太感激你了!!!我還是有個疑問 為什麼ListTableModel函數裡什麼都沒有寫?卻可以執行其他的columnCount,rowCountdata等等其他函數?是因為QModelIndex &parent = QModelIndex()嗎
作者: uranusjr (←這人是超級笨蛋)   2015-06-27 23:32:00
QAbstractTableModel 已經預先定義一些函式, 會呼叫其他函式用來取得資料, 而這些函式會被 QTableView 呼叫所以你只要覆寫一小部分函式描述資料要如何取得, 就可以讓 QTableView 要求資料時真的獲得你想提供的資訊http://doc.qt.io/qt-5/model-view-programming.html
作者: ruby122825 (Ruby)   2015-06-29 10:23:00
真是太感激了!最後想確定是不是我一定要再做一個QabstractTable class才可以?
作者: BlazarArc (Midnight Sun)   2015-06-29 21:41:00
看你要客製化的程度 越高就要用越抽象的像你的定死25行 也可自己算row col用StandardItemModelQStandardItemModel不夠用就用QAbstractTableModel在往上就QAbstractItemModel

Links booklink

Contact Us: admin [ a t ] ucptt.com