виджет не в Gtk Window

Я работаю над попыткой установить кнопку в качестве программы по умолчанию в программе, чтобы, как только данные вводились в поля ввода, пользователь просто нажимал клавишу ввода, чтобы продолжить, вместо того, чтобы перетаскивать мышь или неловко нажимать на вкладки.

Мой код для этого:

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

Как мне связать кнопку с окном? Что и как мне определить, с каким окном мне нужно связать кнопку?

Я создал основы GUI в Glade, и я работаю над тем, чтобы делать все, кроме макета в коде.

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 () — это функция, связанная с обратным вызовом кнопки входа в систему. Так что это не идеальное решение, но оно работает на данный момент.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]