从GTK弹出菜单中获取焦点

时间:2012-03-26 20:25:32

标签: python gtk focus popupmenu

在我的python GTK项目中,我有一个弹出菜单,在特定文本区域输入时弹出窗口。但是,当键入一个字母弹出菜单获得焦点,我不能再在文本区域中键入,直到我单击文本区域并手动获取焦点。当弹出菜单出现时,我想定期关注文本区域。任何人都可以告诉我一种方法来做到这一点。我尝试了widget.grab_focus()方法。但它并没有解决我的问题。

另外,我想知道如何设置弹出菜单的位置。它总是出现在鼠标指针附近。我想让它出现在我的申请附近。

谢谢大家。

1 个答案:

答案 0 :(得分:1)

我使用C API遇到了同样的problem,解决方案是调用以下函数,我认为它们与python等价物大致相似:

gdk_pointer_ungrab(GDK_CURRENT_TIME);
gdk_keyboard_ungrab(GDK_CURRENT_TIME);
gtk_grab_remove(menu);