API Ρ Π²ΠΈΠ΄ΠΆΠ΅ΡΠ°
GtkToggleButton<b>GtkWidget* gtk_toggle_button_new(void);</b><b>GtkWidget* gtk_toggle_button_new_with_label(const gchar* label);</b><b>gboolean gtk_toggle_button_get_active(GtkToggleButton *toggle_button);</b><b>void gtk_toggle_button_set_active(GtkToggleButton *toggle_button,</b><b>Β gboolean is_active);</b>ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ β
gtk_toggle_button_get_activegtk_toggle_button_set_activeTRUEGtkToggleButtonΠΠ½ΠΎΠΏΠΊΠ°-ΡΠ»Π°ΠΆΠΎΠΊ
GtkCheckButtonGtkToggleButtonGtkToggleButtonGtkCheckButton<b>GtkWidget* gtk_check_button_new(void);</b><b>GtkWidget* gtk_check_button_new_with_label(const gchar *label);</b>ΠΡΠ° ΠΊΠ½ΠΎΠΏΠΊΠ° Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΡ , Ρ.ΠΊ. ΠΌΠΎΠΆΠ΅Ρ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²Π°ΡΡΡΡ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ ΡΠΎΠ³ΠΎ ΠΆΠ΅ ΡΠΈΠΏΠ°. ΠΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΠ΅Π»Ρ (ΠΈΠ»ΠΈ ΡΠ°Π΄ΠΈΠΎΠΊΠ½ΠΎΠΏΠΊΠ°)
GtkRadioButton<b>GtkWidget* gtk_radio_button_new(GSList *group);</b><b>GtkWidget* gtk_radio_button_new_from_widget(GtkRadioButton *group);</b><b>GtkWidget* gtk_radio_button_new_with_label(GSList *group, const gchar *label);</b><b>void gtk_radio_button_set_group(GtkRadioButton *radio_button, GSList *group);</b><b>GSList* gtk_radio_button_get_group(GtkRadioButton *radio_button);</b>ΠΡΡΠΏΠΏΠ° ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΠ΅Π»Π΅ΠΉ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π° Π² ΠΎΠ±ΡΠ΅ΠΊΡΠ΅-ΡΠΏΠΈΡΠΊΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ GLib, Π½Π°Π·Π²Π°Π½Π½ΠΎΠΌ
GSListGSListgtk_radio_button_newgtk_radio_button_get_groupgtk_radio_button_new_with_widgetGtkButtonGtkCheckButtonGtkToggleButtonGtkRadioButtonΠΠ²Π΅Π΄ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ΅ΠΊΡΡ Π² ΡΠ°ΠΉΠ» Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ buttons.Ρ.
1.Β Π‘Π½Π°ΡΠ°Π»Π° ΠΎΠ±ΡΡΠ²ΠΈΡΠ΅ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΊΠ°ΠΊ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅:
#include <gtk/gtk.h>#include <stdio.h>GtkWidget *togglebutton;GtkWidget *checkbutton;GtkWidget *radiobutton1, *radiobutton2;void closeApp(GtkWidget *window, gpointer data) {Β gtk_main_quit();}2.Β ΠΠ°Π»Π΅Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΠ΅ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°Π΅Ρ
GtkWidgetGtkLabelGtkHboxGtkHboxvoid add_widget_with_label(GtkContainer * box, gchar * caption,Β GtkWidget * widget) {Β GtkWidget *label = gtk_label_new(caption);Β GtkWidget *hbox = gtk_hbox_new(TRUE, 4);Β gtk_container_add(GTK_CONTAINER(hbox), label);Β gtk_container_add(GTK_CONTAINER(hbox), widget);Β gtk_container_add(box, hbox);}3.Β
print_activeGtkToggleButtonbutton_clickedclickedvoid print_active(char * button_name, GtkToggleButton* button) {Β gboolean active = gtk_toggle_button_get_active(button);Β printf("%s is %s\n", button_name, active?"active":"not active");}void button_clicked(GtkWidget *button, gpointer data) {Β print_active("Checkbutton", GTK_TOGGLE_BUTTON(checkbutton));Β print_active("Togglebutton", GTK_TOGGLE_BUTTON(togglebutton));Β print_active("Radiobutton1", GTK_TOGGLE_BUTTON(radiobutton1));Β print_active("Radiobutton2", GTK_TOGGLE_BUTTON(radiobutton2));Β printf("\n");}4.Β Π ΡΡΠ½ΠΊΡΠΈΠΈ
mainGtkVBoxgint main(gint argc, gchar *argv[]) {Β GtkWidget* window;Β GtkWidget *button;