我正在尝试将一个按钮设置为程序中的默认按钮,以便只要在输入框中输入数据,用户只需按Enter键继续操作,而不是向上拖动鼠标或标记笨拙。 / p>
我的代码是:
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 :(得分:1)
找到答案,使用链接到“激活”的g_signal_connect:
g_signal_connect(__w_uNameEntry, "activate", G_CALLBACK(*credentialsCheck), NULL);
g_signal_connect(__w_passwdEntry, "activate", G_CALLBACK(*credentialsCheck), NULL);
其中credentialsCheck()是链接到登录按钮回调的函数。所以这不是一个完美的解决方案,但现在可以使用。