【发布时间】:2016-07-18 08:33:12
【问题描述】:
我正在处理一个项目并使用树视图。我做了很多搜索,我发现我的答案是遍历整个树视图,但甚至不知道如何去做,所以我的问题是如何在树视图中搜索包含输入字符串的项目。这个想法将是有一个输入框并让用户在其中输入一些内容,当他们按下包含用户输入内容的搜索项时。我不确定我是否可以在树视图中执行此操作,或者是否必须进入列表视图。我在 windows 7 pyqt5 python 3.5
self.treeView = QtWidgets.QTreeView(self.centralWidget)
self.treeView.setSortingEnabled(True)
self.treeView.setObjectName("treeView")
self.horizontalLayout_4.addWidget(self.treeView)
self.file_model=QtWidgets.QFileSystemModel()
self.file_model.setRootPath('C:\My Stuff\Movies')
self.treeView.setModel(self.file_model)
self.treeView.setRootIndex(self.file_model.index('C:\My Stuff\Movies'))
self.treeView.setHeaderHidden(True)
self.treeView.hideColumn(1)
self.treeView.hideColumn(2)
self.treeView.hideColumn(3)
【问题讨论】:
-
另外,如果有人知道如何对树视图进行排序会有所帮助
-
您想搜索模型而不是我认为的视图。在模型中找到索引后,您可以在视图中选择该索引。
-
我认为您需要在视图和模型之间使用 QSortFilterProxyModel。这就是我用于表格的方法,我认为树木也是如此。
-
@BarryScott 感谢您的帮助。我该怎么做呢?