如何捕捉在Gtk.TreeView点击?
-
21-08-2019 - |
题
我试图赶上一个TreeView的空白区域双击事件来创建一个新的节点。不幸的是标准的方式不起作用。我试图连接ButtonPressEvent既TreeView和在T.V.托管的ScrolledWindow。我没有得到任何回调到我的功能。
我该如何解决这个问题?
解决方案
您需要使用GLib.ConnectBeforeAttribute上的处理程序来处理TreeView.ButtonPressEvent,否则部件将内部处理事件和处理程序不会被调用。
示例:
[GLib.ConnectBefore]
void OnTreeViewButtonPressEvent(object sender, ButtonPressEventArgs e)
{
if (e.Type == Gdk.EventType.TwoButtonPress)
{
// double click
}
}
其他提示
http://old.nabble.com/CellRenderer-可编辑-上双击-td24975510.html
self.treeview.connect("button-press-event",self.cell_clicked)
def cell_clicked(self, widget, event):
if event.button == 1 and event.type == gtk.gdk.BUTTON_PRESS:
print "Double clicked on cell"
我觉得树视图都有自己的一个窗口。
获取的窗口句柄,然后SendMessage消息(treeview-> Getsafehwnd(),TVI_ROOT,tvichildren)
上面的发送消息是用于仅仅你的理解。
不隶属于 StackOverflow