我在窗口的GtkTreeView
中有一个GtkHBox
的Glade GUI描述文件;并且有row_activated
信号的处理程序。现在,Glade已自动将该树视图的“events”属性(继承自GtkWidget
)设置为某个值(GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK
)。这有两个奇怪的事情:
我还没有用更新的GTK版本来测试它,但问题已经出现了:这个events
属性的确切目的是什么?为什么Glade自动且不必要地将其设置为某个值?这是否有一些我不知道的副作用?
答案 0 :(得分:1)
这是林间空地的一个错误,它总是设置它创建的小部件的事件属性。它没有属性的默认值的概念,所以它总是设置它。
答案 1 :(得分:0)
这个面具是否表示您愿意接受的事件?在这种情况下,您可能希望收到用户点击或双击GtkTreeView中的项目的通知,并且您将要注册回调来处理这些事件。
答案 2 :(得分:0)
me.yahoo.com/a/kUQ7zeQ:但即使我按照提到的那样将属性设置为空字符串,当我双击一行时仍然会调用row_activated
处理程序(或按Enter或空间)。所以树视图仍然会发生事件......