我正在做一個簡單的文件資源管理器,我遇到了Qt的一些問題。我想向用戶展示他的計算機上的文件的樹形視圖,但我也希望能夠選擇多個文件/目錄並稍後使用它們進行操作(通過選擇checkboxes
或多個選擇使用ctrl + 左鍵單擊或轉變 + 左擊)。我已經放置了QTreeView
元素併爲其設置了一個模型(QFileSystemModel
)。它給了我一個很好的樹視圖,但我不能修改標題(列名),或者在每行中添加我自己的列(例如)checkbox
。 Qt對我來說是新手,我已經爲一些技巧/解決方案尋找了好幾個小時,但沒有任何工作與QFileSystemModel
。有什麼我可以做得到這個工作?QT樹,允許多選
的代碼很簡短:下面的
QString lPath = "C:/";
QString rPath = "C:/";
leftTree_model = new QFileSystemModel(this);
rightTree_model = new QFileSystemModel(this);
leftTree_model->setRootPath(lPath);
rightTree_model->setRootPath(rPath);
//i have actually 2 tree views that work the same
ui->leftTree->setModel(leftTree_model); //ui->leftTree is the first tree view
ui->rightTree->setModel(rightTree_model); //the second
你能否擴展你的答案?我得到了選擇模式,已經做到了。我得到了繼承('class treeModel:public QFileSystemModel'),但是我遇到了'treeModel'構造函數的問題(錯誤:無法解析的外部符號...)。我用'leftTree_model = new treeModel(this);'替換'leftTree_model = new QFileSystemModel(this);',但它不起作用。 – sobol6803 2013-05-03 10:10:28
我有另一個問題。複選框是可點擊的,但它們呈現出奇怪的行爲。如果我點擊一個複選框,釋放鼠標按鈕並將光標移動到每個複選框上,它們都會被檢查。在這裏你有代碼:http://ideone.com/Xrrdo9。我做錯了什麼? – sobol6803 2013-05-05 14:08:57
這是因爲你爲每一行返回相同的狀態,而不管被檢查的項是什麼:'return checkstatus;'該視圖應該如何知道,其中的所有對象的哪個複選框需要檢查? – spiritwolfform 2013-05-06 07:11:46