2

在我的 PyGTK 应用程序中,我目前使用“可编辑”来使单元格可编辑。但是由于我的单元格内容有时非常大,我想在用户双击单元格时询问用户在新窗口中的更改。但我不知道如何在特定单元格渲染器上双击双击 - 我不想编辑整行,我也不想为整行设置此回调,仅适用于内容太长的列可以发生。我如何使用 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])

谢谢!

4

1 回答 1

3

我相信这是不可能直接的。但是,您可以连接button-press-eventgtk.TreeView. 然后,当event.type等于 时gtk.gdk._2BUTTON_PRESS,使用 将x和转换y为树位置gtk.TreeView.get_path_at_pos()gtk.TreeViewColumn这将返回指示单击的行和对象的树路径。

于 2010-05-12T19:10:25.683 回答