0

QFileIconProviderに使用したい独自のクラスを作成しようとしましたQFileSystemModel。私はこのコードで終わった:

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():
        return self.otherFileIcon
    if info.isDir():
        return self.folderIcon
    return self.otherFileIcon

def type(self, info):
    if info.isDir():
        return 'Directory'
    return 'File'

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)

今私の問題は、ツリービューにアイコンが表示されないだけでなく、コードが例外をスローしないことです。私が間違っていることを誰かが知っていますか?

4

1 に答える 1