关于QTreeView并更改所选索引

时间:2016-01-16 17:12:09

标签: python qt pyqt

我使用pyqt5。

我使用QTreeView和QDirModel列出文件和文件夹。

self.dirModel = QtWidgets.QDirModel(self)
self.dirTreeView = QtWidgets.QTreeView()
self.dirTreeView.setModel(self.dirModel)

我想添加一个按钮来更改所选索引,例如,当我按下按钮时,我可以选择当前文件夹中的下一个文件,其行为与按下“向下”键相同。

我该怎么办?

1 个答案:

答案 0 :(得分:1)

您需要在GUI中添加一个按钮,并将插槽连接到单击的事件。

 self.button = QtGui.QPushButton('Test', self)
        self.button.clicked.connect(self.handleButton)
        // This layout will be your existing one
        layout = QtGui.QVBoxLayout(self)
        layout.addWidget(self.button)

    def handleButton(self):
        print ('Hello World')

然后当你拥有所有需要在handleButton函数中编写一些更新索引的代码时。 QTreeView允许您访问行,因此您只需要一个行计数器,每次递增该行并询问树中的下一行:

indexItem = self.model.index(index.row(), 0, index.parent())

fileName = self.model.fileName(indexItem)
filePath = self.model.filePath(indexItem)