当前位置: 技术问答>linux和unix
GTK弹出窗口获取焦点问题
来源: 互联网 发布时间:2016-04-13
本文导语: 做了个TOPLEVEL的弹出window,想要把焦点移到弹出窗体的某个控件上,对窗口进行了gtk_window_set_modal(),gtk_window_set_transient_for()以及gtk_window_set_decorated()属性设置,设置其为主窗口的无装饰子窗口,主窗口需等子窗口按键响应...
做了个TOPLEVEL的弹出window,想要把焦点移到弹出窗体的某个控件上,对窗口进行了gtk_window_set_modal(),gtk_window_set_transient_for()以及gtk_window_set_decorated()属性设置,设置其为主窗口的无装饰子窗口,主窗口需等子窗口按键响应之后才能进行操作,并对弹出窗口使用了gtk_widget_grab_focus()将焦点加到某控件上,现在的问题是X的焦点能聚焦到窗体上,但是聚焦不到控件上。请问有什么办法可以解决?
|
先让窗口先得到焦点
直接使用
还有一个就不理解为什么要使用gtk_window_set_modal()
是,window new出来后是非模态的,
你直接new 一个response窗体不就可以达到你的要求了么?
直接使用
void gtk_window_set_focus (GtkWindow *window,
GtkWidget *focus);
还有一个就不理解为什么要使用gtk_window_set_modal()
是,window new出来后是非模态的,
你直接new 一个response窗体不就可以达到你的要求了么?
GtkWidget *window = gtk_window_new (GTK_WINDOW_POPUP);
|
试试gtk_window_set_focus
|
构件的敏感性即构件是否可用
(enable,不可用的构件将被显示为灰色,且无法获得键盘输入焦点)
焦点 一般 从左到右 从上到下 排列
(enable,不可用的构件将被显示为灰色,且无法获得键盘输入焦点)
焦点 一般 从左到右 从上到下 排列