【问题标题】:Difference between focus and focus-in(out)-event signals焦点和焦点输入(输出)事件信号之间的区别
【发布时间】:2010-04-13 18:57:11
【问题描述】:

GTK+ 中的“focus”和“focus-in(out)-event”信号有什么区别?哪个是冷杉发出的?它们与键盘(TAB)和鼠标点击有什么关系。它们相互依赖吗?

我问这个是因为我想在顶级窗口中跟踪当前聚焦的小部件,并且我想在需要时测试每个小部件的 HAS_FOCUS 标志。我感兴趣的小部件位于其他容器、盒子等深处。在这种情况下,保持和更新焦点小部件指针的最佳方法是什么?

【问题讨论】:

    标签: c gtk


    【解决方案1】:

    gtk_window_get_focus() 满足您的需求。

    focus-{in,out}-event 是由 XWindow 系统(或任何其他系统)生成的低级事件,并且首先生成。 focus 是由 GTK+ 自己生成的:您可以将其视为更高级别的 focus-in-event。这也意味着,至少在理论上,您可以拥有一个无窗口小部件(即没有关联 GdkWindow 的小部件),它会发出 focus 但不会发出 focus-in-event

    【讨论】:

    • 我想自己管理焦点。有没有办法完全禁用焦点旅行?怎么样?
    猜你喜欢
    • 2014-10-27
    • 1970-01-01
    • 1970-01-01
    • 2014-01-17
    • 1970-01-01
    • 2010-11-01
    • 2011-07-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多