ich habe ein Problem mit dem QFileIconProvider. ich möchte für mein QTreeView das QFileSystem Model einsetzen, allerdings möchte ich dafür meine eigenen Icons für Dateien und Ordner angezeigt bekommen. Ich wollte nun wie folgt vorgehen. Indem ich meine eigene QFileIconProvider Klasse schreibe. Diese sieht wie folgt aus:
Code: Alles auswählen
class SeIconProvider(QtGui.QFileIconProvider):
def __init__(self):
QtGui.QFileIconProvider.__init__(self)
self.rsFileIcon = QtGui.QIcon(':images/rs-file.png')
self.otherFileIcon = QtGui.QIcon(':images/newfile.png')
self.folderIcon = QtGui.QIcon(':images/openFolder.png')
def icon(self, type):
if type == self.File:
return self.rsFileIcon
if type == self.Folder:
return self.folderIcon
return self.otherFileIcon
def icon(self, info):
if info.isFile():
# if info.fileName().endswith('.rs'):
# return self.rsFileIcon
return self.otherFileIcon
if info.isDir():
return self.folderIcon
return self.otherFileIcon
def type(self, info):
if info.isDir():
return 'Directory'
return 'File'
Anschließend setze ich es noch als IconProvider für meinen QTreeView:
Code: Alles auswählen
class FolderView(QtGui.QTreeView):
def __init__(self):
QtGui.QTreeView.__init__(self)
self.createComponents()
self.createLayout()
def createComponents(self):
self.model = QtGui.QFileSystemModel()
self.model.setIconProvider(SeIconProvider())
self.setModel(self.model)
def createLayout(self):
self.setHeaderHidden(True)
for i in range(1, 4):
self.hideColumn(i)
Vielleicht weiß jemand was ich falsch mache. Danke schon einmal im voraus