4

編集可能なCellRendererTextを含むツリービューがあります:

self.renderer = gtk.CellRendererText()
self.renderer.set_property('editable', True)

しかし今、ユーザーからではなくコードからエディションを起動する必要があります。これは、ユーザーが新しい行を作成したばかりで、名前を付ける必要があるという事実にユーザーの注意を向けるためです。私はこれを試しましたが、うまくいきません:

self.renderer.start_editing(
    gtk.gdk.Event(gtk.gdk.NOTHING),
    self.treeview,
    str(index),
    gtk.gdk.Rectangle(),
    gtk.gdk.Rectangle(),
    0)

どちらもエラーをスローしませんが、各引数が何であるかについてのドキュメントは明確ではありません。実際、 start_editing メソッドがこれのためかどうかはわかりません。

すべての提案を歓迎します、ありがとう。

4

1 に答える 1

6
def set_cursor(path, focus_column=None, start_editing=False)

...が指定されていて、start_editingがTrueの場合、指定されたセルで編集を開始する必要があります。多くの場合、このメソッドの後gtk.Widget.grab_focus()に、ツリービューにキーボードフォーカスを与えるメソッドが続きます。

ソース

于 2010-04-05T02:19:04.690 に答える