Spec-Zone.ru › GTK 4.0

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 ()

Свойства

GtkWidget * child Чтение/Запись
gboolean has-frame Чтение/Запись
char * icon-name Чтение/Запись
char * label Чтение/Запись
gboolean use-underline Чтение/Запись

Сигналы

void activate Действие
void clicked Действие

Типы и значения

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

имя значка или NULL.

[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

TRUE если подчеркивания в тексте указывают на мнемоники

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

Возвращает

Имя значка, установленное с помощью gtk_button_set_icon_name().

[nullable]

gtk_button_set_child ()

void
gtk_button_set_child (GtkButton *button,
                      GtkWidget *child);

Устанавливает дочерний виджет для button .

Параметры

button

виджет GtkButton

child

дочерний виджет.

[allow-none]

gtk_button_get_child ()

GtkWidget *
gtk_button_get_child (GtkButton *button);

Получает дочерний виджет button.

Параметры

button

a GtkButton

Возвращаемое значение

дочерний виджет button.

[nullable][transfer none]

Типы и значения

struct GtkButton

struct GtkButton;

struct GtkButtonClass

struct GtkButtonClass {
  GtkWidgetClass        parent_class;

  void (* clicked)  (GtkButton *button);
  void (* activate) (GtkButton *button);
};

Члены

clicked ()

Сигнал, генерируемый при активации кнопки (нажатии и отпускании).

activate ()

Сигнал, вызывающий анимацию нажатия и отпускания кнопки. Приложения никогда не должны подключаться к этому сигналу, а должны использовать сигнал clicked.

Подробности свойств

Свойство “child”

  “child”                    GtkWidget *

Дочерний виджет.

Владелец: GtkButton

Флаги: Чтение / Запись

Свойство “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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API