我使用pyqt5。
我使用QTreeView和QDirModel列出文件和文件夹。
self.dirModel = QtWidgets.QDirModel(self)
self.dirTreeView = QtWidgets.QTreeView()
self.dirTreeView.setModel(self.dirModel)
我想添加一个按钮来更改所选索引,例如,当我按下按钮时,我可以选择当前文件夹中的下一个文件,其行为与按下“向下”键相同。
我该怎么办?
答案 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)