2024-09-29 21:21:04 发布
网友
环顾四周,我发现QFileSysetmModel中的QFileIconProvider可以大大降低速度。在我的特殊情况下,我根本不需要它,但我不知道如何轻松地禁用/删除它而不造成崩溃。这是我第一次使用模型/视图框架,所以答案可能很简单,我只是在文档中错过了它。。。但现在我只能找到对它进行分类的例子,却找不到完全摆脱它的例子。你知道吗
在QFileIconProvider中消耗大量时间的任务是提供图标,因为它必须加载文件等。因此,您的案例的解决方法是返回空的QIcon:
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_())
在
QFileIconProvider
中消耗大量时间的任务是提供图标,因为它必须加载文件等。因此,您的案例的解决方法是返回空的QIcon
:相关问题 更多 >
编程相关推荐