Qt代理模型使用示例

问题描述:

我正在使用Qt 4的QFileSystemModelQTreeView。我正在编写一个类似于文件管理器的Windows资源管理器,并且希望使树更加类似于Windows,其中树包含一些诸如“桌面”,“我的文档”之类的快捷方式路径。 我唯一希望的是让树看起来像这样:Qt代理模型使用示例

  • 我的电脑
    • 桌面
    • 我的文档
    • C:\
    • d:\
    • 。 ..

我听说可以用QAbstractProxyModel来实现。 有没有人使用QAbstractProxyModel并让它工作?如果是,请提供任何适当的例子。提前致谢。

这个问题是一样的How to add custom row in QFileSystemModel?

+0

我想你混淆了QGraphicsProxyWidget与QAbstractProxyModel – leemes

+0

现在当你提到它,我提醒它应该'QIdentityProxyModel'或'QAbstractProxyModel',或者甚至两者同时。有没有办法改变标题? –

+0

我编辑了你的问题。 – leemes

你能在QTreeView则更多地解释什么是缺少来处理你的榜样树?

如何使用简单的QTreeView示例(如http://www.java2s.com/Code/Cpp/Qt/QTreeViewdemoandQStandardItem.htm)作为获取所需内容的起点?

+0

在例子中,你提供了它们使用'QStandardItemModel',所以你可以添加到任何你需要的标准模型。但'QFileSystemModel'从你的文件系统中获取它的内容,默认情况下它只包含_Drives_(在Windows中),所以它看起来像:C:\,D:\,....我需要的是 - 在这里添加两件事:桌面和我的文档的快捷方式。正如我之前所说,似乎可以使用'QGraphicsProxyWidget'来实现,但是我无法使它工作=( –