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

看板C_and_CPP作者 (Ruby)時間10年前 (2015/06/23 08:09), 10年前編輯推噓6(6025)
留言31則, 4人參與, 最新討論串1/1
開發平台(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): 我是初學者還請鞭小力一點>__< -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 126.236.2.124 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1435018167.A.85C.html

06/23 08:33, , 1F
看不懂, 請附圖
06/23 08:33, 1F

06/23 09:33, , 2F
對不起,手機不穩我無法編輯文章
06/23 09:33, 2F

06/23 10:34, , 3F
檔案總管看起來不是tableview嗎
06/23 10:34, 3F

06/23 10:35, , 4F

06/23 10:36, , 5F
是Qt QTreeWidget嗎,可以按[+]顯示資料夾下更多檔
06/23 10:36, 5F
※ 編輯: ruby122825 (125.54.107.190), 06/23/2015 20:55:05 ※ 編輯: ruby122825 (125.54.107.190), 06/23/2015 20:58:41

06/23 22:37, , 6F
自己建 model 灌進TableView,
06/23 22:37, 6F

06/24 08:02, , 7F
該用什麼model好啊?
06/24 08:02, 7F

06/24 08:02, , 8F
對不起呀~我文科出身真的不太會
06/24 08:02, 8F

06/24 08:28, , 9F
我想知道該怎麼設定一個model可以固定行數,又可以自
06/24 08:28, 9F

06/24 08:29, , 10F
動加列
06/24 08:29, 10F

06/24 11:42, , 12F
rows 跟 columns 要根據你的需求自己設定
06/24 11:42, 12F

06/24 23:25, , 13F
我覺得 subclass QAbstractTableModel 應該更方便
06/24 23:25, 13F

06/24 23:26, , 14F
http://d.pr/19Ud9 隨意做了一個 demo, 應該不難理解
06/24 23:26, 14F

06/24 23:45, , 15F
哦哦 樓上專業 我也學到東西 XD
06/24 23:45, 15F

06/27 20:32, , 16F
uranusjr真是太感激你了!!!
06/27 20:32, 16F

06/27 20:42, , 17F
我還是有個疑問 為什麼ListTableModel函數裡
06/27 20:42, 17F

06/27 20:43, , 18F
什麼都沒有寫?卻可以執行其他的columnCount,rowCount
06/27 20:43, 18F

06/27 20:44, , 19F
data等等其他函數?
06/27 20:44, 19F

06/27 20:46, , 20F
是因為QModelIndex &parent = QModelIndex()嗎
06/27 20:46, 20F

06/27 23:32, , 21F
QAbstractTableModel 已經預先定義一些函式, 會呼叫其他
06/27 23:32, 21F

06/27 23:32, , 22F
函式用來取得資料, 而這些函式會被 QTableView 呼叫
06/27 23:32, 22F

06/27 23:33, , 23F
所以你只要覆寫一小部分函式描述資料要如何取得, 就可以
06/27 23:33, 23F

06/27 23:34, , 24F
讓 QTableView 要求資料時真的獲得你想提供的資訊
06/27 23:34, 24F

06/29 10:23, , 26F
真是太感激了!最後想確定是不是我一定要再做一個Qabs
06/29 10:23, 26F

06/29 10:23, , 27F
tractTable class才可以?
06/29 10:23, 27F

06/29 21:41, , 28F
看你要客製化的程度 越高就要用越抽象的
06/29 21:41, 28F

06/29 21:43, , 29F
像你的定死25行 也可自己算row col用StandardItemModel
06/29 21:43, 29F

06/29 21:43, , 30F
QStandardItemModel不夠用就用QAbstractTableModel
06/29 21:43, 30F

06/29 21:43, , 31F
在往上就QAbstractItemModel
06/29 21:43, 31F
文章代碼(AID): #1LYAEtXS (C_and_CPP)