日期:2014-05-16  浏览次数:20663 次

gtk编程,如何取得当前焦点在哪个控件上
我的界面上有四个button,按不同的button会响应不同的事件,我将button的事件响应写在一个函数中,那么在这个函数中,我就需要判断当前焦点在哪个button上,但是我怎么知道当前焦点在哪个button上,请高手指教,小弟不胜感激,在线等待。

------解决方案--------------------
假设你的回调函数格式如下:
int func(GtkWidget *widget , gpointer data);
方法一:
添加gtk_widget_set_name(btn1 , "button1 ");然后在回调函数func中用gtk_widget_get_name(widget);来判断不同的button
方法二:
g_signal_connect(...,(gpointer)1);
g_signal_conncet(...,(gpointer)2);
g_signal_connect(...,(gpointer)3);
然后在回调函数中(int)data == 1来判断
方法三:
利用焦点,在回调函数中
if(1 == gtk_widget_is_focus(btn1))
if(1 == gtk_widget_is_focus(btn2))
if(1 == gtk_widget_is_focus(btn3))