2014-10-09 36 views
0

我想创建一个定制的小部件,它可以显示系统中每个驱动器中的文件。 这是布局:是否可以在QListView中显示复杂的小部件?

QListView的每一行都包含一个标题栏(QLabel)和一个QListWidget,其中包含许多表示文件的图标。我知道如何使用QItemDelegate自定义QListView的外观,但我不知道如何创建这样一个复杂的小部件。

有人能帮助我吗?非常感谢您阅读这篇文章。

回答

0

我觉得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

希望有所帮助。

+0

非常感谢。 – 2014-10-11 01:46:58

相关问题