Come disabilitare il comportamento del ridenominazione del file doppio clic su QTREEView e QFilesystemModel in Pyqt?
-
12-12-2019 - |
Domanda
Domanda semplice.Mi piacerebbe usare f2 o inserire per rinominare e fare doppio clic per aprire un file.
Usando self.treeView.doubleClicked.connect(self.doubleclick)
Posso fare le cose nel mio metodo self.doubleClick
, ma la ridenominazione è ancora attivata.
Il modello non è solo lettura (model.setReadOnly(False)
).
Soluzione
Per impostazione predefinita, il segnale doubleClicked
è emesso poco prima della normale azione di modifica, che viene eseguita da qabstractitemview.edit funzione.
Fortunatamente, questa funzione è virtuale, quindi può essere reimplementata in una sottoclasse:
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)
. Altri suggerimenti
Non so se hai questo nelle versioni Python, ma in C ++ QT hai appena impostato i trigger di modifica nel QabStractItemView:
void setEditTriggers ( EditTriggers triggers )