Возьмите фокус из всплывающего меню GTK - PullRequest
1 голос
/ 27 марта 2012

В моем проекте Python GTK у меня есть всплывающее меню, которое появляется при наборе текста в определенной области текста. Но при вводе всплывающего меню ввода текста получите фокус, и я больше не могу печатать в текстовой области, пока не нажму на текстовую область и не возьму фокус вручную. Я хочу держать фокус на текстовой области, поскольку я печатаю регулярно, когда появляется всплывающее меню. Может кто-нибудь дать мне сказать, как это сделать. Я попробовал метод widget.grab_focus (). Но это не решило мою проблему.

Также я хочу знать, как установить положение всплывающего меню. Он всегда появляется рядом с указателем мыши. Я хочу, чтобы он появился рядом с моим приложением.

Спасибо всем.

1 Ответ

1 голос
/ 07 октября 2012

Я столкнулся с той же проблемой , используя C API, решение состояло в том, чтобы вызвать следующие функции, я предполагаю, что они приблизительно похожи на эквиваленты Python:

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