4

簡単な質問です。F2 または Enter を使用して名前を変更し、ダブルクリックしてファイルを開きたいと思います。

I を使用self.treeView.doubleClicked.connect(self.doubleclick)すると、メソッドで処理を実行できますself.doubleClickが、名前の変更は引き続きトリガーされます。

モデルは読み取り専用ではありません ( model.setReadOnly(False))。

4

2 に答える 2

9

Python バージョンでこれがあるかどうかはわかりませんが、C++ Qt では、QAbstractItemView で編集トリガーを設定するだけです。

void setEditTriggers ( EditTriggers triggers )

于 2013-03-12T03:29:53.870 に答える
2

デフォルトでは、シグナルは、 QAbstractItemView.edit関数doubleClickedによって実行される通常の編集アクションの直前に発行されます。

幸い、この関数は仮想であるため、サブクラスで再実装できます。

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)
于 2012-10-01T15:35:26.757 に答える