TAGS :Viewed: 9 - Published at: a few seconds ago
[ How to disable the double click file renaming behavior on QTreeView and QFileSystemModel in PyQt? ]
Simple question. I'd like to use F2 or Enter for rename, and double click to open a file.
Using self.treeView.doubleClicked.connect(self.doubleclick)
I can do things in my self.doubleClick
method, but the renaming is still triggered.
The model is not read-only (model.setReadOnly(False)
).
Answer 1
I don't know if you have this in python versions, but in C++ Qt you just set the edit triggers in the QAbstractItemView:
void setEditTriggers ( EditTriggers triggers )
Answer 2
By default, the doubleClicked
signal is emitted just before the normal editing action, which is carried out by the QAbstractItemView.edit function.
Fortunately, this function is virtual, so it can be reimplemented in a subclass:
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)