Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/124.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 小部件不在Gtk窗口内_C++_Linux_Gtk_Glade - Fatal编程技术网

C++ 小部件不在Gtk窗口内

C++ 小部件不在Gtk窗口内,c++,linux,gtk,glade,C++,Linux,Gtk,Glade,我正在尝试将一个按钮设置为程序中的默认按钮,以便在输入框中输入数据后,用户只需按enter键即可继续操作,而无需拖动鼠标或笨拙地使用Tab键 我的代码是: 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); g

我正在尝试将一个按钮设置为程序中的默认按钮,以便在输入框中输入数据后,用户只需按enter键即可继续操作,而无需拖动鼠标或笨拙地使用Tab键

我的代码是:

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的基础知识,我正在做除代码布局之外的一切工作。

找到了答案,使用链接到“激活”的g_信号连接:

其中credentialsCheck()是链接到登录按钮回调的函数。因此,这不是一个完美的解决方案,但目前它仍然有效

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