QFileSystemModel禁用QFileIconProvid

2024-09-29 21:21:04 发布

您现在位置:Python中文网/ 问答频道 /正文

环顾四周,我发现QFileSysetmModel中的QFileIconProvider可以大大降低速度。在我的特殊情况下,我根本不需要它,但我不知道如何轻松地禁用/删除它而不造成崩溃。这是我第一次使用模型/视图框架,所以答案可能很简单,我只是在文档中错过了它。。。但现在我只能找到对它进行分类的例子,却找不到完全摆脱它的例子。你知道吗


Tags: 答案文档模型框架视图分类情况速度
1条回答
网友
1楼 · 发布于 2024-09-29 21:21:04

QFileIconProvider中消耗大量时间的任务是提供图标,因为它必须加载文件等。因此,您的案例的解决方法是返回空的QIcon

import sys
from PyQt4 import QtCore, QtGui

class EmptyIconProvider(QtGui.QFileIconProvider):
    def icon(self, _):
        return QtGui.QIcon()

if __name__ == '__main__':
    app = QtGui.QApplication(sys.argv)
    view = QtGui.QTreeView()
    model = QtGui.QFileSystemModel(view)
    model.setIconProvider(EmptyIconProvider())
    model.setRootPath(QtCore.QDir.currentPath())
    view.setModel(model)
    view.setRootIndex(model.index(QtCore.QDir.currentPath()))
    view.show()
    sys.exit(app.exec_())

相关问题 更多 >

    热门问题