Spec-Zone.ru › GTK 3.20

GtkRadioButton

GtkRadioButton — Выбор из нескольких кнопок

Функции

GtkWidget * gtk_radio_button_new ()
GtkWidget * gtk_radio_button_new_from_widget ()
GtkWidget * gtk_radio_button_new_with_label ()
GtkWidget * gtk_radio_button_new_with_label_from_widget ()
GtkWidget * gtk_radio_button_new_with_mnemonic ()
GtkWidget * gtk_radio_button_new_with_mnemonic_from_widget ()
void gtk_radio_button_set_group ()
GSList * gtk_radio_button_get_group ()
void gtk_radio_button_join_group ()

Свойства

GtkRadioButton * группа Запись

Сигналы

void изменение-группы Выполнить сначала

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

struct GtkRadioButton

Иерархия объектов

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkContainer
                ╰── GtkBin
                    ╰── GtkButton
                        ╰── GtkToggleButton
                            ╰── GtkCheckButton
                                ╰── GtkRadioButton

Реализованные интерфейсы

GtkRadioButton реализует AtkImplementorIface, GtkBuildable, GtkActionable и GtkActivatable.

Включаемые файлы

#include <gtk/gtk.h>

Описание

Одна кнопка радио выполняет ту же основную функцию, что и GtkCheckButton, как это отражено в её положении в иерархии объектов. Она становится самостоятельным элементом пользовательского интерфейса только тогда, когда несколько кнопок радио объединены в группу.

Каждая кнопка радио является членом некоторой группы кнопок радио. При выборе одной из них все остальные кнопки радио в той же группе отменяются. GtkRadioButton — это один из способов предоставить пользователю выбор из множества вариантов.

Виджеты кнопок радио создаются с помощью gtk_radio_button_new(), передавая NULL в качестве аргумента, если это первая кнопка радио в группе. В последующих вызовах в качестве аргумента должна быть передана группа, к которой вы хотите добавить эту кнопку. Дополнительно можно использовать gtk_radio_button_new_with_label(), если вы хотите, чтобы на кнопке радио была метка текста.

В качестве альтернативы, при добавлении виджетов в существующую группу кнопок радио используйте gtk_radio_button_new_from_widget() с GtkRadioButton, которой уже назначена группа. Также предоставляется удобная функция gtk_radio_button_new_with_label_from_widget().

Чтобы получить группу, к которой назначена GtkRadioButton, используйте gtk_radio_button_get_group().

Чтобы удалить GtkRadioButton из одной группы и добавить её в новую, используйте gtk_radio_button_set_group().

Список групп не нужно освобождать, так как каждая GtkRadioButton удалит себя и свой элемент списка при уничтожении.

CSS-узлы

GtkRadioButton с индикатором (см. gtk_toggle_button_set_mode()) имеет основной CSS-узел с именем radiobutton и подчинённый узел с именем radio.

GtkRadioButton без индикатора изменяет имя своего основного узла на button и добавляет к нему класс стиля .radio. В этом случае подчинённый узел невидим.

Как создать группу из двух кнопок радио.

При нажатии на невыбранную кнопку в группе выбранная кнопка получает сигнал “toggled”, как и ранее выбранная кнопка. В обработчике “toggled”, можно использовать gtk_toggle_button_get_active() для определения, была ли кнопка выбрана или отменена.

Функции

gtk_radio_button_new ()

GtkWidget *
gtk_radio_button_new (GSList *group);

Создаёт новую кнопку GtkRadioButton. Для её практического использования, виджет необходимо упаковать в кнопку.

Параметры

group

существующая группа радиокнопок или NULL, если создаётся новая группа.

[element-type GtkRadioButton][allow-none]

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

новая кнопка

gtk_radio_button_new_from_widget ()

GtkWidget *
gtk_radio_button_new_from_widget (GtkRadioButton *radio_group_member);

Создаёт новую кнопку GtkRadioButton, добавляя её в ту же группу, что и radio_group_member. Как и в случае с gtk_radio_button_new(), виджет необходимо упаковать в кнопку.

[constructor]

Параметры

radio_group_member

существующая кнопка GtkRadioButton.

[allow-none]

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

новая кнопка.

[transfer none]

gtk_radio_button_new_with_label ()

GtkWidget *
gtk_radio_button_new_with_label (GSList *group,
                                 const gchar *label);

Создаёт новую кнопку GtkRadioButton с текстовой меткой.

Параметры

group

существующая группа радиокнопок или NULL, если создаётся новая группа.

[element-type GtkRadioButton][allow-none]

label

текстовая метка, отображаемая рядом с радиокнопкой.

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

новая кнопка.

gtk_radio_button_new_with_label_from_widget ()

GtkWidget *
gtk_radio_button_new_with_label_from_widget
                               (GtkRadioButton *radio_group_member,
                                const gchar *label);

Создаёт новую кнопку GtkRadioButton с текстовой меткой, добавляя её в ту же группу, что и radio_group_member.

[constructor]

Параметры

radio_group_member

виджет, из которого извлечь группу радиокнопок, или NULL.

[allow-none]

label

строка текста, отображаемая рядом с радиокнопкой.

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

новая кнопка.

[transfer none]

gtk_radio_button_new_with_mnemonic ()

GtkWidget *
gtk_radio_button_new_with_mnemonic (GSList *group,
                                    const gchar *label);

Создаёт новую кнопку GtkRadioButton с меткой, добавляя её в ту же группу, что и group. Метка создаётся с помощью gtk_label_new_with_mnemonic(), поэтому нижние подчёркивания в label обозначают мнемонический символ кнопки.

Параметры

group

группа радиокнопок или NULL.

[element-type GtkRadioButton][allow-none]

label

текст кнопки с подчёркнутым мнемоническим символом.

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

новая кнопка GtkRadioButton

gtk_radio_button_new_with_mnemonic_from_widget ()

GtkWidget *
gtk_radio_button_new_with_mnemonic_from_widget
                               (GtkRadioButton *radio_group_member,
                                const gchar *label);

Создаёт новую кнопку GtkRadioButton с меткой. Метка создаётся с помощью gtk_label_new_with_mnemonic(), поэтому нижние подчёркивания в label обозначают мнемонический символ кнопки.

[constructor]

Параметры

radio_group_member

виджет, из которого извлечь группу радиокнопок, или NULL.

[allow-none]

label

текст кнопки с подчёркнутым мнемоническим символом.

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

новая кнопка GtkRadioButton.

[transfer none]

gtk_radio_button_set_group ()

void
gtk_radio_button_set_group (GtkRadioButton *radio_button,
                            GSList *group);

Устанавливает группу GtkRadioButton. Обратите внимание, что это не меняет макет интерфейса, поэтому при изменении группы, скорее всего, потребуется перестроить пользовательский интерфейс для отображения этих изменений.

Параметры

radio_button

кнопка GtkRadioButton.

group

существующая группа радиокнопок, например, возвращённая из gtk_radio_button_get_group(), или NULL.

[element-type GtkRadioButton][allow-none]

gtk_radio_button_get_group ()

GSList *
gtk_radio_button_get_group (GtkRadioButton *radio_button);

Возвращает группу, присвоенную радиокнопке.

Параметры

radio_button

кнопка GtkRadioButton.

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

связанный список, содержащий все радиокнопки в той же группе, что и radio_button. Возвращённый список принадлежит радиокнопке и не должен быть изменён или освобождён.

[element-type GtkRadioButton][transfer none]

gtk_radio_button_join_group ()

void
gtk_radio_button_join_group (GtkRadioButton *radio_button,
                             GtkRadioButton *group_source);

Присоединяет объект GtkRadioButton к группе другого объекта GtkRadioButton.

Используйте эту функцию в языковых связках вместо методов gtk_radio_button_get_group() и gtk_radio_button_set_group().

Типичный способ создания группы радиокнопок:

radiobutton
├── radio
╰── <child>

Параметры

radio_button

объект GtkRadioButton.

group_source

объект радиокнопки, к группе которой присоединяемся, или NULL для удаления радиокнопки из её группы.

[allow-none]

С: 3.0

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

struct GtkRadioButton

struct GtkRadioButton;

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

Свойство “group”

  “group”                    GtkRadioButton *

Устанавливает новую группу для радиокнопки.

Флаги: Запись

Подробности сигналов

Сигнал “group-changed”

void
user_function (GtkRadioButton *button,
               gpointer        user_data)

Издаётся, когда изменяется группа радиокнопок, к которой принадлежит радиокнопка. Этот сигнал издаётся, когда радиокнопка переходит от одиночного состояния к группе из 2 или более кнопок, или наоборот, и когда кнопка переносится из одной группы из 2 или более кнопок в другую, но не когда меняется состав группы, к которой принадлежит кнопка.

Параметры

button

объект, получивший сигнал.

user_data

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

Флаги: Выполняется сначала

С: 2.4

См. также

GtkComboBox

© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer.gnome.org/gtk3/3.20/GtkRadioButton.html

Spec-Zone.ru

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