Spec-Zone.ru › GTK 3.24

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 * group Write

Сигналы

void group-changed Run First

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

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 *

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

Владелец: 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.24/GtkRadioButton.html

Spec-Zone.ru

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