2024-10-01 13:37:04 发布
网友
如何在PyQt窗口中以ListView方式显示代码中指定的目录中的文件
例如:在这个QFileSystemModelDialog应用程序的右窗格中
{1}另一个要显示目录。要更改QListView的视图,必须使用单击的信号,使用QModelIndex设置新的rootIndex。在
QListView
QModelIndex
rootIndex
import sys from PyQt5.QtWidgets import * from PyQt5.QtCore import * class Widget(QWidget): def __init__(self, *args, **kwargs): QWidget.__init__(self, *args, **kwargs) hlay = QHBoxLayout(self) self.treeview = QTreeView() self.listview = QListView() hlay.addWidget(self.treeview) hlay.addWidget(self.listview) path = QDir.rootPath() self.dirModel = QFileSystemModel() self.dirModel.setRootPath(QDir.rootPath()) self.dirModel.setFilter(QDir.NoDotAndDotDot | QDir.AllDirs) self.fileModel = QFileSystemModel() self.fileModel.setFilter(QDir.NoDotAndDotDot | QDir.Files) self.treeview.setModel(self.dirModel) self.listview.setModel(self.fileModel) self.treeview.setRootIndex(self.dirModel.index(path)) self.listview.setRootIndex(self.fileModel.index(path)) self.treeview.clicked.connect(self.on_clicked) def on_clicked(self, index): path = self.dirModel.fileInfo(index).absoluteFilePath() self.listview.setRootIndex(self.fileModel.setRootPath(path)) if __name__ == '__main__': app = QApplication(sys.argv) w = Widget() w.show() sys.exit(app.exec_())
{1}另一个要显示目录。要更改
QListView
的视图,必须使用单击的信号,使用QModelIndex
设置新的rootIndex
。在相关问题 更多 >
编程相关推荐