Proste pytanie. Chciałbym użyć F2 lub wprowadź do zmiany nazwy i kliknij dwukrotnie, aby otworzyć plik.

Korzystanie z self.treeView.doubleClicked.connect(self.doubleclick) Mogę robić rzeczy w metodzie My {X1}}, ale zmiana nazwy jest nadal wyzwalana.

Model nie jest tylko do odczytu (model.setReadOnly(False)).

4
iacopo 1 październik 2012, 13:45

2 odpowiedzi

Najlepsza odpowiedź

Domyślnie sygnał doubleClicked jest emitowany tuż przed normalnym działaniem edycji, który jest przeprowadzany przez QabstractemView.edit Funkcja.

Na szczęście ta funkcja jest wirtualna, więc może zostać zwrócona w podklasie:

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)
1
ekhumoro 20 luty 2017, 04:44

Nie wiem, czy masz to w wersjach Python, ale w C ++ QT po prostu ustawisz wyzwalacze edycji w QABSTRITEMVIEW:

void setEditTriggers ( EditTriggers triggers )

8
gremwell 12 marzec 2013, 03:29