Como desativar o duplo clique em renomear o arquivo comportamento em QTreeView e QFileSystemModel em PyQt?
-
12-12-2019 - |
Pergunta
Pergunta simples.Eu gostaria de usar F2 ou Enter para mudar o nome e faça duplo clique para abrir um arquivo.
Usando self.treeView.doubleClicked.connect(self.doubleclick)
Eu posso fazer as coisas no meu self.doubleClick
o método, mas a mudança de nome ainda é acionado.
O modelo não é só de leitura (model.setReadOnly(False)
).
Solução
Por padrão, o doubleClicked
é emitido um sinal de pouco antes da edição normal de ação, que é realizada pelo QAbstractItemView.editar função.
Felizmente, esta função é virtual, então ele pode ser reimplementado em uma subclasse:
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)
Outras dicas
Eu não sei se você tem isso em python versões, mas em C++ Qt que você acabou de definir a editar dispara na QAbstractItemView:
void setEditTriggers ( EditTriggers triggers )