我想創建一個定製的小部件,它可以顯示系統中每個驅動器中的文件。 這是佈局:是否可以在QListView中顯示覆雜的小部件?
QListView的每一行都包含一個標題欄(QLabel)和一個QListWidget,其中包含許多表示文件的圖標。我知道如何使用QItemDelegate自定義QListView的外觀,但我不知道如何創建這樣一個複雜的小部件。
有人能幫助我嗎?非常感謝您閱讀這篇文章。
我想創建一個定製的小部件,它可以顯示系統中每個驅動器中的文件。 這是佈局:是否可以在QListView中顯示覆雜的小部件?
QListView的每一行都包含一個標題欄(QLabel)和一個QListWidget,其中包含許多表示文件的圖標。我知道如何使用QItemDelegate自定義QListView的外觀,但我不知道如何創建這樣一個複雜的小部件。
有人能幫助我嗎?非常感謝您閱讀這篇文章。
我覺得QFileSystemModel
是非常接近最終解決方案您正在尋找:
http://qt-project.org/doc/qt-5/QFileSystemModel.html#details
model = new QFileSystemModel();
QModelIndex mindex = model->setRootPath(QDir::homePath());
QTreeView * tree = ui->treeView;
tree->setModel(model);
tree->setRootIndex(mindex);
// Demonstrating look and feel features
tree->setAnimated(true);
tree->setIndentation(20);
tree->setSortingEnabled(true);
tree->setAlternatingRowColors(true);
還有一個內置例如,在Qt中的文件樹的複雜的XML視圖。使用型號/委託設計
http://qt-project.org/doc/qt-5.0/qtxmlpatterns/xmlpatterns-filetree.html
至於先進的例子,這裏有資源,我能找到的:
http://qt-project.org/doc/qt-5/model-view-programming.html
http://qt-project.org/doc/qt-5/model-view-programming.html#related-examples
代碼片斷其它地方都在使用模型和委託類的抽象類的詳細信息。例如:
http://qt-project.org/doc/qt-5/qabstractitemdelegate.html#details
希望有所幫助。
非常感謝。 – 2014-10-11 01:46:58