简单的问题。我想使用 F2 或 Enter 进行重命名,然后双击打开文件。
使用self.treeView.doubleClicked.connect(self.doubleclick)
I can do things 在我的self.doubleClick
方法中,但仍然会触发重命名。
该模型不是只读的 ( model.setReadOnly(False)
)。
简单的问题。我想使用 F2 或 Enter 进行重命名,然后双击打开文件。
使用self.treeView.doubleClicked.connect(self.doubleclick)
I can do things 在我的self.doubleClick
方法中,但仍然会触发重命名。
该模型不是只读的 ( model.setReadOnly(False)
)。
我不知道您在 python 版本中是否有此功能,但在 C++ Qt 中,您只需在 QAbstractItemView 中设置编辑触发器:
void setEditTriggers ( EditTriggers triggers )
默认情况下,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)