PyGTK的:双击上的CellRenderer
-
26-09-2019 - |
题
在我的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-event
在gtk.TreeView
。然后,当event.type
使用gtk.gdk._2BUTTON_PRESS
等于x
,转换y
和gtk.TreeView.get_path_at_pos()
到树中的位置。这将返回指示在其上作出的点击的行和gtk.TreeViewColumn
对象两者树路径。
不隶属于 StackOverflow