Задача, которая занимает много времени в 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_())