找回密码
 立即注册
首页 python pyqt 查看内容
PyQt5目录视图PyQt可以使用QTreeView显示目录结构。要使树视图显示为目录树,我们需要将其模型设置为QFileSystemModel实例。这是通过为树实例调用setModel方法来实现的。

我们可以在树对象上设置其他选项:启用排序(setSortingEnabled),动画和缩进。



示例
下面的代码将目录视图(QTreeView与QFileSystemModel结合)添加到网格窗口。需要为要查看的窗口小部件设置布局。



使用模型setRootPath()方法指定路径,其中参数是目录的完整路径。默认情况下是根。
import sys
from PyQt5.QtWidgets import QApplication, QFileSystemModel, QTreeView, QWidget, QVBoxLayout
from PyQt5.QtGui import QIcon
 
class App(QWidget):
 
    def __init__(self):
        super().__init__()
        self.title = 'PyQt5 file system view - pythonspot.com'
        self.left = 10
        self.top = 10
        self.width = 640
        self.height = 480
        self.initUI()
 
    def initUI(self):
        self.setWindowTitle(self.title)
        self.setGeometry(self.left, self.top, self.width, self.height)
 
        self.model = QFileSystemModel()
        self.model.setRootPath('')
        self.tree = QTreeView()
        self.tree.setModel(self.model)
 
        self.tree.setAnimated(False)
        self.tree.setIndentation(20)
        self.tree.setSortingEnabled(True)
 
        self.tree.setWindowTitle("Dir View")
        self.tree.resize(640, 480)
 
        windowLayout = QVBoxLayout()
        windowLayout.addWidget(self.tree)
        self.setLayout(windowLayout)
 
        self.show()
 
if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = App()
    sys.exit(app.exec_())


分享至 : QQ空间
收藏
您需要登录后才可以回帖 登录 | 立即注册