LINUX.ORG.RU

[gtk] Нажатие кнопки из-за нажатия клавиши.

 


0

1

Есть окно программы windows. Есть кнопка button. К ней есть сallback-функция.

Как сделать что-бы callback запускалась и по сигналу «clicked» кнопки и по нажатию клавиши «Enter»?

Что гуглить по этому вопросу?

Ответ на: комментарий от sudo-s

не могу найти какой...

"focus-on-click"
"image"
"image-position"
"label"
"relief"
"use-stock"
"use-underline"
"xalign"
"yalign"
это все параметры, которые есть.

greek_31 ★★
() автор топика
Ответ на: комментарий от baverman

спасибо. отличное и простое решение.

greek_31 ★★
() автор топика
Ответ на: комментарий от baverman

не работает. Компиляция без проблем, на «Enter» кнопка не срабатывает. На «clicked» работает.

Вот фрагмент кода:

button = gtk_button_new_with_label( "Calculate" );
GTK_WIDGET_SET_FLAGS( button, GTK_CAN_DEFAULT );
gtk_window_set_default ( GTK_WINDOW( window ), button );
...
g_signal_connect( G_OBJECT( button ), "clicked",
	                 G_CALLBACK( calc_cb ), (gpointer) rcode_desc );

greek_31 ★★
() автор топика
Ответ на: комментарий от greek_31

не работает.

Если фокус находится в GtkEntry, то ему (полю) надо установить activates-default.

Да, я забыл, есть еще gtk_widget_grab_default (по сути, тоже самое), его надо вызывать после добавления кнопки в контейнер.

baverman ★★★
()
Ответ на: комментарий от baverman

Работает. Действительно нужно было из-за GtkEntry посылать. Спасибо.

greek_31 ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.