简单的问题。我想使用F2或Enter进行重命名,然后双击打开文件。
使用self.treeView.doubleClicked.connect(self.doubleclick)
我可以在self.doubleClick
方法中执行操作,但仍会触发重命名。
该模型不是只读的(model.setReadOnly(False)
)。
答案 0 :(得分:8)
我不知道你是否在python版本中有这个,但在C ++ Qt中你只需在QAbstractItemView中设置编辑触发器:
void setEditTriggers ( EditTriggers triggers )
答案 1 :(得分:1)
默认情况下,doubleClicked
信号在正常编辑操作之前发出,由QAbstractItemView.edit函数执行。
幸运的是,这个函数是虚函数,因此可以在子类中重新实现:
class TreeView(QtGui.QTreeView):
def edit(self, index, trigger, event):
if trigger == QtGui.QAbstractItemView.DoubleClicked:
print 'DoubleClick Killed!'
return False
return QtGui.QTreeView.edit(self, index, trigger, event)