GtkButton
GtkButton — Виджет, который генерирует сигнал при нажатии
Функции
| GtkWidget * | gtk_button_new () |
| GtkWidget * | gtk_button_new_with_label () |
| GtkWidget * | gtk_button_new_with_mnemonic () |
| GtkWidget * | gtk_button_new_from_icon_name () |
| void | gtk_button_set_has_frame () |
| gboolean | gtk_button_get_has_frame () |
| const char * | gtk_button_get_label () |
| void | gtk_button_set_label () |
| gboolean | gtk_button_get_use_underline () |
| void | gtk_button_set_use_underline () |
| void | gtk_button_set_icon_name () |
| const char * | gtk_button_get_icon_name () |
| void | gtk_button_set_child () |
| GtkWidget * | gtk_button_get_child () |
Свойства
Типы и значения
| struct | GtkButton |
| struct | GtkButtonClass |
Иерархия объектов
GObject
╰── GInitiallyUnowned
╰── GtkWidget
╰── GtkButton
├── GtkLinkButton
├── GtkLockButton
╰── GtkToggleButton
Реализованные интерфейсы
GtkButton реализует GtkAccessible, GtkBuildable, GtkConstraintTarget и GtkActionable.
Включенные файлы
#include <gtk/gtk.h>
Описание
Виджет GtkButton обычно используется для вызова обратной функции, которая вызывается при нажатии на кнопку. Различные сигналы и способы их использования описаны ниже.
Виджет GtkButton может содержать любой допустимый дочерний виджет. То есть, он может содержать практически любой другой стандартный виджет GtkWidget. Наиболее часто используемым дочерним виджетом является GtkLabel.
CSS узлы
GtkButton имеет один CSS узел с именем button. Узел получит классы стиля .image-button или .text-button, если содержимое представляет собой только изображение или метку соответственно. Он также может получить класс стиля .flat.
Другие классы стиля, которые обычно используются с GtkButton, включают .suggested-action и .destructive-action. В особых случаях кнопки могут быть сделаны круглыми путем добавления класса стиля .circular.
Виджеты, похожие на кнопки, такие как GtkToggleButton, GtkMenuButton, GtkVolumeButton, GtkLockButton, GtkColorButton или GtkFontButton, используют классы стиля, такие как .toggle, .popup, .scale, .lock, .color на узле кнопки, чтобы отличить их от обычной GtkButton.
Доступность
GtkButton использует роль GTK_ACCESSIBLE_ROLE_BUTTON.
Функции
gtk_button_new ()
GtkWidget *
gtk_button_new (void); Создаёт новый виджет GtkButton. Для добавления дочернего виджета в кнопку используйте gtk_button_set_child().
Возвращает
Созданный виджет GtkButton.
gtk_button_new_with_label ()
GtkWidget *
gtk_button_new_with_label (const char *label); Создаёт виджет GtkButton с дочерним виджетом GtkLabel, содержащим заданный текст.
Параметры
label | Текст, который должен содержать GtkLabel. |
Возвращает
Созданный виджет GtkButton.
gtk_button_new_with_mnemonic ()
GtkWidget *
gtk_button_new_with_mnemonic (const char *label); Создаёт новую кнопку GtkButton с меткой. Если символы в label предваряются нижним подчеркиванием, они подчеркиваются. Если вам нужен символ нижнего подчеркивания в метке, используйте «__» (два нижних подчеркивания). Первый подчеркнутый символ представляет собой комбинацию клавиш, называемую мнемонической. Нажатие клавиши Alt и этой клавиши активирует кнопку.
Параметры
label | Текст кнопки, с нижним подчеркиванием перед мнемоническим символом |
Возвращает
новый виджет GtkButton.
gtk_button_new_from_icon_name ()
GtkWidget *
gtk_button_new_from_icon_name (const char *icon_name); Создаёт новую кнопку, содержащую значок из текущей темы значков.
Если имя значка неизвестно, вместо него отобразится значок «разбитое изображение». Если текущая тема значков изменена, значок будет соответствующим образом обновлён.
Параметры
icon_name | имя значка или | [nullable] |
Возвращает
новую кнопку GtkButton с отображением значка темы
gtk_button_set_has_frame ()
void gtk_button_set_has_frame (GtkButton *button,gboolean has_frame);
Устанавливает стиль кнопки. Кнопки могут иметь плоский вид или иметь рамку вокруг них.
Параметры
button | виджет GtkButton | |
has_frame | должна ли кнопка иметь видимую рамку |
gtk_button_get_has_frame ()
gboolean
gtk_button_get_has_frame (GtkButton *button); Возвращает, имеет ли кнопка рамку.
Параметры
button | виджет GtkButton |
Возвращает
TRUE если у кнопки есть рамка
gtk_button_get_label ()
const char *
gtk_button_get_label (GtkButton *button); Извлекает текст из метки кнопки, как задано в gtk_button_set_label(). Если текст метки не установлен, значение возврата будет NULL. Это будет в том случае, если вы создали пустую кнопку с помощью gtk_button_new() для использования в качестве контейнера.
Параметры
button | виджет GtkButton |
Возвращает
Текст виджета метки. Эта строка принадлежит виджету и не должна изменяться или освобождаться.
[nullable]
gtk_button_set_label ()
void gtk_button_set_label (GtkButton *button,const char *label);
Устанавливает текст метки кнопки на label .
Это также очистит любые ранее установленные метки.
Параметры
button | виджет GtkButton | |
label | строка |
gtk_button_get_use_underline ()
gboolean
gtk_button_get_use_underline (GtkButton *button); Возвращает, указывает ли встроенное нижнее подчеркивание в метке кнопки на мнемонику. См. gtk_button_set_use_underline().
Параметры
button | виджет GtkButton |
Возвращает
TRUE если встроенное нижнее подчеркивание в метке кнопки указывает на мнемонические клавиши быстрого доступа.
gtk_button_set_use_underline ()
void gtk_button_set_use_underline (GtkButton *button,gboolean use_underline);
Если true, нижнее подчеркивание в тексте метки кнопки указывает на то, что следующий символ должен использоваться для мнемонической клавиши быстрого доступа.
Параметры
button | виджет GtkButton | |
use_underline |
|
gtk_button_set_icon_name ()
void gtk_button_set_icon_name (GtkButton *button,const char *icon_name);
Добавляет GtkImage с заданным именем значка как дочерний виджет. Если button уже содержит дочерний виджет, этот дочерний виджет будет удалён и заменён изображением.
Параметры
button | виджет GtkButton | |
icon_name | имя значка |
gtk_button_get_icon_name ()
const char *
gtk_button_get_icon_name (GtkButton *button); Возвращает имя значка, установленное с помощью gtk_button_set_icon_name().
Параметры
button | виджет GtkButton |
Типы и значения
struct GtkButton
struct GtkButton;
struct GtkButtonClass
struct GtkButtonClass {
GtkWidgetClass parent_class;
void (* clicked) (GtkButton *button);
void (* activate) (GtkButton *button);
};
Члены
| Сигнал, генерируемый при активации кнопки (нажатии и отпускании). | |
| Сигнал, вызывающий анимацию нажатия и отпускания кнопки. Приложения никогда не должны подключаться к этому сигналу, а должны использовать сигнал |
Подробности свойств
Свойство “has-frame”
“has-frame” gboolean
Признак наличия рамки у кнопки.
Владелец: GtkButton
Флаги: Чтение / Запись
Значение по умолчанию: TRUE
Свойство “icon-name”
“icon-name” char *
Имя иконки, автоматически используемой в кнопке.
Владелец: GtkButton
Флаги: Чтение / Запись
Значение по умолчанию: NULL
Свойство “label”
“label” char *
Текст виджета метки внутри кнопки, если кнопка содержит виджет метки.
Владелец: GtkButton
Флаги: Чтение / Запись
Значение по умолчанию: NULL
Свойство “use-underline”
“use-underline” gboolean
Если установлено, подчёркивание в тексте указывает, что следующий символ используется для горячей клавиши.
Владелец: GtkButton
Флаги: Чтение / Запись
Значение по умолчанию: FALSE
Подробности сигналов
Сигнал “activate”
void user_function (GtkButton *widget, gpointer user_data)
Сигнал ::activate в GtkButton является сигналом действия, и его вызов вызывает анимацию нажатия и отпускания кнопки. Приложения никогда не должны подключаться к этому сигналу, а должны использовать сигнал “clicked”.
Параметры
widget | объект, получивший сигнал. | |
user_data | пользовательские данные, заданные при подключении обработчика сигнала. |
Флаги: Действие
Сигнал “clicked”
void user_function (GtkButton *button, gpointer user_data)
Генерируется при активации кнопки (нажатии и отпускании).
Параметры
button | объект, получивший сигнал | |
user_data | пользовательские данные, заданные при подключении обработчика сигнала. |
Флаги: Действие
© 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/GtkButton.html