Корневой путь Python PyQt QFileSystemModel

Это код, который я должен отображать в виде дерева каталога с именем «C: \ Myfolder».

import sys
from PyQt4 import QtGui,QtCore

class Myview(QtGui.QMainWindow):
    def __init__(self,parent=None):
        QtGui.QMainWindow.__init__(self)
        model = QtGui.QFileSystemModel()
        model.setRootPath('C:\Myfolder')
        view = QtGui.QTreeView()
        view.setModel(model)
        self.setCentralWidget(view)


if __name__ == '__main__':
    app = QtGui.QApplication(sys.argv)
    myview = Myview()
    myview.show()
    sys.exit(app.exec_())

Несмотря на то, что я установил RootPath на «C:\Myfolder», в древовидном представлении отображаются все диски и папки.

Как я могу ограничить QFileSystemModel, чтобы TreeView отображал только элементы внутри каталога «C:\Myfolder»?


person Chris Aung    schedule 13.11.2013    source источник


Ответы (1)


Вам нужно будет добавить view.setRootIndex(model.index("C:\Myfolder")) в соответствии с документацией QFileSystemModel. .

person Ramchandra Apte    schedule 13.11.2013
comment
Другое объяснение с тем же решением приведено здесь: stackoverflow.com/q/57193760/2961550 - person bicarlsen; 28.11.2020