在我的 python GTK 项目中,我有一个弹出菜单,在输入特定文本区域时会弹出。但是,当键入一个字母时,弹出菜单获得焦点,我不能再在文本区域中键入,直到我单击文本区域并手动获取焦点。我想在弹出菜单出现时定期键入文本区域。谁能告诉我一种方法来做到这一点。我尝试了 widget.grab_focus() 方法。但这并没有解决我的问题。
另外我想知道如何设置弹出菜单的位置。它总是出现在鼠标指针附近。我希望它出现在我的应用程序附近。
谢谢大家。
我使用 C API 遇到了同样的问题,解决方案是调用以下函数,我认为它们与 python 等价物大致相似:
gdk_pointer_ungrab(GDK_CURRENT_TIME);
gdk_keyboard_ungrab(GDK_CURRENT_TIME);
gtk_grab_remove(menu);