Подключение действий к виджетам
Любой виджет, реализующий интерфейс GtkActionable, может быть подключен к действию, просто установив свойство ::action-name. Если действие имеет параметр, вам также необходимо установить свойство ::action-target. К виджетам, реализующим GtkActionable, относятся GtkSwitch, GtkButton и их соответствующие подклассы.
Другой способ получения виджетов, подключенных к действиям, заключается в создании меню с помощью модели меню GMenu. GMenu предоставляет абстрактный способ описания типичных меню: вложенные группы элементов, где каждый элемент может иметь метку, значок и действие.
Типичное использование GMenu в GTK заключается в настройке строковой панели приложения с помощью gtk_application_set_menubar(). Другое, возможно, более распространенное использование — создание всплывающего меню для кнопки меню с помощью gtk_menu_button_set_menu_model().
В отличие от традиционных меню, меню, созданные из моделей меню, не имеют клавиатурных ускорителей, связанных с пунктами меню. Вместо этого GtkApplication предлагает API gtk_application_set_accels_for_action() для связывания сочетаний клавиш с действиями.
© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer-old.gnome.org/gtk4/4.0/ch06s05.html