0

GtkTreeView我在一个窗口中有一个 Glade GUI 描述文件GtkHBox;并且有一个row_activated信号处理程序。现在,Glade 已经自动将该树视图的“事件”属性(继承自GtkWidget)设置为某个值(GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK)。这有两个奇怪的地方:

  • 删除预设值(使属性为空)似乎不会破坏应用程序(至少不会使用我有 atm 的旧 GTK 2.10)。
  • 事实上,我以前见过的一个烦人的错误(树视图项目无法正确响应展开或折叠点击)现在已经消失了!

events我还没有用较新的 GTK 版本对此进行测试,但问题已经存在:这个属性的目的到底是什么?为什么 Glade 会自动且不必要地将其设置为某个值?这有一些我不知道的副作用吗?

4

3 回答 3

1

这是 Glade 中的一个错误,它总是设置它创建的小部件的事件属性。它没有属性的默认值的概念,所以它总是设置它。

于 2008-11-28T15:25:42.603 回答
0

这个面具不是表示你愿意接受的事件吗?在这种情况下,您可能希望收到用户单击或双击 GtkTreeView 中的项目的通知,并且您将希望注册回调来处理这些事件。

于 2008-09-15T17:27:12.803 回答
0

me.yahoo.com/a/kUQ7zeQ:但即使我如前所述将属性设置为空字符串,row_activated当我双击一行(或按 Enter 或空格键)时仍会调用处理程序。所以树视图仍然会收到事件......

于 2008-09-15T17:41:36.513 回答