RadioButton


Object Hierarchy:

Gtk.RadioButton Gtk.RadioButton Gtk.RadioButton Gtk.CheckButton Gtk.CheckButton Gtk.CheckButton->Gtk.RadioButton Gtk.ToggleButton Gtk.ToggleButton Gtk.ToggleButton->Gtk.CheckButton Gtk.Button Gtk.Button Gtk.Button->Gtk.ToggleButton Gtk.Bin Gtk.Bin Gtk.Bin->Gtk.Button Gtk.Container Gtk.Container Gtk.Container->Gtk.Bin Gtk.Widget Gtk.Widget Gtk.Widget->Gtk.Container GLib.InitiallyUnowned GLib.InitiallyUnowned GLib.InitiallyUnowned->Gtk.Widget GLib.Object GLib.Object GLib.Object->GLib.InitiallyUnowned Atk.Implementor Atk.Implementor Atk.Implementor->Gtk.RadioButton Atk.Implementor->Gtk.CheckButton Atk.Implementor->Gtk.ToggleButton Atk.Implementor->Gtk.Button Atk.Implementor->Gtk.Bin Atk.Implementor->Gtk.Container Atk.Implementor->Gtk.Widget Gtk.Buildable Gtk.Buildable Gtk.Buildable->Gtk.RadioButton Gtk.Buildable->Gtk.CheckButton Gtk.Buildable->Gtk.ToggleButton Gtk.Buildable->Gtk.Button Gtk.Buildable->Gtk.Bin Gtk.Buildable->Gtk.Container Gtk.Buildable->Gtk.Widget Gtk.Actionable Gtk.Actionable Gtk.Actionable->Gtk.RadioButton Gtk.Actionable->Gtk.CheckButton Gtk.Actionable->Gtk.ToggleButton Gtk.Actionable->Gtk.Button Gtk.Activatable Gtk.Activatable Gtk.Activatable->Gtk.RadioButton Gtk.Activatable->Gtk.CheckButton Gtk.Activatable->Gtk.ToggleButton Gtk.Activatable->Gtk.Button

Description:

[ CCode ( type_id = "gtk_radio_button_get_type ()" ) ]
public class RadioButton : CheckButton, Implementor, Actionable, Activatable, Buildable

A single radio button performs the same basic function as a CheckButton, as its position in the object hierarchy reflects.

It is only when multiple radio buttons are grouped together that they become a different user interface component in their own right.

Every radio button is a member of some group of radio buttons. When one is selected, all other radio buttons in the same group are deselected. A RadioButton is one way of giving the user a choice from many options.

Radio button widgets are created with RadioButton, passing null as the argument if this is the first radio button in a group. In subsequent calls, the group you wish to add this button to should be passed as an argument. Optionally, RadioButton.with_label can be used if you want a text label on the radio button.

Alternatively, when adding widgets to an existing group of radio buttons, use RadioButton.from_widget with a RadioButton that already has a group assigned to it. The convenience function RadioButton.with_label_from_widget is also provided.

To retrieve the group a RadioButton is assigned to, use get_group.

To remove a RadioButton from one group and make it part of a new one, use set_group.

The group list does not need to be freed, as each RadioButton will remove itself and its list item when it is destroyed.

CSS nodes

radiobutton
├── radio
╰── <child>
Button with indicator (see set_mode) has a main CSS node with name radiobutton and a subnode with name radio.

button.radio
├── radio
╰── <child>
Button without indicator changes the name of its main node to button and adds a .radio style class to it. The subnode is invisible in this case.

How to create a group of two radio buttons.

void create_radio_buttons (void) {

GtkWidget *window, *radio1, *radio2, *box, *entry;
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 2);
gtk_box_set_homogeneous (GTK_BOX (box), TRUE);

// Create a radio button with a GtkEntry widget
radio1 = gtk_radio_button_new (NULL);
entry = gtk_entry_new ();
gtk_container_add (GTK_CONTAINER (radio1), entry);


// Create a radio button with a label
radio2 = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (radio1),
"I’m the second radio button.");

// Pack them into a box, then show all the widgets
gtk_box_pack_start (GTK_BOX (box), radio1);
gtk_box_pack_start (GTK_BOX (box), radio2);
gtk_container_add (GTK_CONTAINER (window), box);
gtk_widget_show_all (window);
return;
}
When an unselected button in the group is clicked the clicked button receives the toggled signal, as does the previously selected button. Inside the toggled handler, get_active can be used to determine if the button has been selected or deselected.

GtkRadioButton


Namespace: Gtk
Package: gtk+-3.0

Content:

Properties:

Creation methods:

Methods:

Signals:

Inherited Members:

All known members inherited from class Gtk.CheckButton
All known members inherited from class Gtk.Bin
All known members inherited from class Gtk.Widget
All known members inherited from class GLib.Object
All known members inherited from interface Atk.Implementor



2022 vala-language.org