簡単な質問です。F2 または Enter を使用して名前を変更し、ダブルクリックしてファイルを開きたいと思います。
I を使用self.treeView.doubleClicked.connect(self.doubleclick)
すると、メソッドで処理を実行できますself.doubleClick
が、名前の変更は引き続きトリガーされます。
モデルは読み取り専用ではありません ( model.setReadOnly(False)
)。
簡単な質問です。F2 または Enter を使用して名前を変更し、ダブルクリックしてファイルを開きたいと思います。
I を使用self.treeView.doubleClicked.connect(self.doubleclick)
すると、メソッドで処理を実行できますself.doubleClick
が、名前の変更は引き続きトリガーされます。
モデルは読み取り専用ではありません ( model.setReadOnly(False)
)。
Python バージョンでこれがあるかどうかはわかりませんが、C++ Qt では、QAbstractItemView で編集トリガーを設定するだけです。
void setEditTriggers ( EditTriggers triggers )
デフォルトでは、シグナルは、 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)