Come disabilitare il comportamento del ridenominazione del file doppio clic su QTREEView e QFilesystemModel in Pyqt?

StackOverflow https://stackoverflow.com//questions/12670874

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)).

È stato utile?

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 )

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top