gpt4 book ai didi

qt - 在 QFileSystemModel() 中列出文件的最佳方法?

转载 作者:行者123 更新时间:2023-12-04 13:05:26 25 4
gpt4 key购买 nike

我正在开始 Qt/pySide 编程,并试图实现一个简单的 QListView,以 QFileSystemModel 作为模型。我有这个工作,另外在模型上定义了一个名称过滤器。我想获得 QListView (或者更确切地说是底层模型)中所有文件的列表。

下面的代码似乎可以做到这一点,但非常丑陋,不可能是正确的方法。帮助!

model = myQListView.model()
idx = model.index(model.rootPath())
for i in range(0, model.rowCount(idx)):
child = idx.child(i, idx.column())
print model.fileName(child)

最佳答案

这才是正确的工作方式。 QAbstractItemModel的整体思路抽象是提供一个统一的 API,用于访问恰好适合列表、表格或树表示的任意和可能的动态数据。因为此 API 必须容纳从几个字符串的简单虚拟列表到地址簿的内容(包括丰富的联系方式)的所有内容,所以它本质上是复杂的。根据您想要实现的目标,在您的特定情况下使用单一用途的工具可能会更好。

顺便说一句,QFileSystemModel本质上是非常动态的(目录枚举发生在单独的线程上)。在 directoryLoaded 之前,您将无法获得有意义的数据。信号发出,你必须等待它。如果您只是在寻找要在代码中使用的文件列表,那么使用 Python 的 native 工具可能会更容易。

关于qt - 在 QFileSystemModel() 中列出文件的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15869548/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com