不在Gtk窗口中的小部件
问题描述:
我正在尝试将一个按钮设置为程序中的默认值,以便只要在输入框内输入数据,用户只需按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的基础知识,我正在做除代码中的布局之外的所有工作。
答
实测值链接到“激活”的回答,使用的g_signal_connect:
g_signal_connect(__w_uNameEntry, "activate", G_CALLBACK(*credentialsCheck), NULL);
g_signal_connect(__w_passwdEntry, "activate", G_CALLBACK(*credentialsCheck), NULL);
凡credentialsCheck()是链接到登录按钮的回调函数。所以这不是一个完美的解决方案,但它现在可行。