質問

私のPyGTKのアプリケーションでは、私は現在のセルを編集可能にする「編集可能」を使用しています。私のセルの内容は時々本当に大きいので、しかし、私は彼がセルにdoubleclicksたときに、新しいウィンドウで変更をユーザーにお願いしたいと思います。しかし、私は特定のcellrenderers上でダブルクリックにフックする方法を見つけることができませんでした - 私は、全体の行を編集したくないと私はまた、唯一の非常に長いコンテンツ列に対して、行全体のために、このコールバックを設定する必要はありません発生する可能性があります。どのように私はCellRendererText()または同様のもので、これを行うことができます。

私は現在、細胞生成コードがあります:

cols[i] = gtk.TreeViewColumn(coltitle)
cells[i] = gtk.CellRendererText()
cols[i].pack_start(cells[i])
cols[i].add_attribute(cells[i], 'text', i)
cols[i].set_sizing(gtk.TREE_VIEW_COLUMN_FIXED)
cols[i].set_fixed_width(100)
cells[i].set_property('editable', True)
cells[i].connect('edited', self.edited, (i, ls))
cols[i].set_resizable(True)
mytreeview.append_column(cols[i])

ありがとうございます。

役に立ちましたか?

解決

私は、これが直接可能ではないと信じています。ただし、button-press-eventgtk.TreeViewに接続することができます。次いで、event.typegtk.gdk._2BUTTON_PRESSを使用してツリーの場所にx、コンバートygtk.TreeView.get_path_at_pos()に等しい場合。これは、クリックが行われた行とgtk.TreeViewColumnオブジェクトを表すツリー・パスの両方を返します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top