¿Cómo deshabilitar el comportamiento de renombramiento de archivos de doble clic en QTeeView y QFilesSystemModel en PyQT?
-
12-12-2019 - |
Pregunta
Pregunta simple.Me gustaría usar F2 o ENTER FOR RENAME, y haga doble clic para abrir un archivo.
Uso de self.treeView.doubleClicked.connect(self.doubleclick)
Puedo hacer las cosas en mi método self.doubleClick
, pero el nombre de nombre todavía está activado.
El modelo no es solo de lectura (model.setReadOnly(False)
).
Solución
De forma predeterminada, la señal doubleClicked
se emite justo antes de la acción de edición normal, que se lleva a cabo por el qabstractitevview.edit Función.
Afortunadamente, esta función es virtual, por lo que se puede reimpumentar en una subclase:
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)
Otros consejos
No sé si tiene esto en las versiones de Python, pero en C ++ QT, simplemente configura los activadores de edición en el QABSTRACTITEMVIEW:
void setEditTriggers ( EditTriggers triggers )