我试图赶上一个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)

上面的发送消息是用于仅仅你的理解。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top