2016-02-26 101 views
0

我正在尝试将一个按钮设置为程序中的默认值,以便只要在输入框内输入数据,用户只需按Enter键继续而不是拖动鼠标或标签笨拙。不在Gtk窗口中的小部件

我对这个代码是:

gtk_entry_set_activates_default(__w_passwdEntry, true); 
gtk_entry_set_activates_default(__w_uNameEntry, true); 
gtk_widget_set_can_default(GTK_WIDGET(__w_loginBtn), true); 
gtk_widget_grab_default(GTK_WIDGET(__w_loginBtn)); 

,我得到最后一行的错误,错误写着:

(app_name:2345): Gtk-WARNING **: gtkwidget.c:6796: widget not within a GtkWindow 

我该如何去有关按钮与一个窗口关联?那么,我将如何确定我需要将按钮与按钮关联的窗口是什么?

我在Glade中创建了GUI的基础知识,我正在做除代码中的布局之外的所有工作。

回答

0

实测值链接到“激活”的回答,使用的g_signal_connect:

g_signal_connect(__w_uNameEntry, "activate", G_CALLBACK(*credentialsCheck), NULL); 
g_signal_connect(__w_passwdEntry, "activate", G_CALLBACK(*credentialsCheck), NULL); 

凡credentialsCheck()是链接到登录按钮的回调函数。所以这不是一个完美的解决方案,但它现在可行。