GtkToggleButton
GtkToggleButton — Создание кнопок, сохраняющих своё состояние
Функции
Свойства
| gboolean | active | Чтение / Запись |
| gboolean | draw-indicator | Чтение / Запись |
| gboolean | inconsistent | Чтение / Запись |
Сигналы
Типы и значения
| struct | GtkToggleButton |
Иерархия объектов
GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkContainer ╰── GtkBin ╰── GtkButton ╰── GtkToggleButton ├── GtkCheckButton ╰── GtkMenuButton
Реализованные интерфейсы
GtkToggleButton реализует AtkImplementorIface, GtkBuildable, GtkActionable и GtkActivatable.
Файлы заголовков
#include <gtk/gtk.h>
Описание
A GtkToggleButton — это GtkButton, который остаётся «нажатым» после нажатия. Нажатие повторно вернёт переключатель в исходное состояние.
Переключатель создаётся путём вызова либо gtk_toggle_button_new(), либо gtk_toggle_button_new_with_label(). Если используется первый вариант, рекомендуется разместить виджет (такой как GtkLabel и/или GtkImage) в контейнер переключателя. (См. GtkButton для получения дополнительной информации).
Состояние GtkToggleButton можно установить явно с помощью gtk_toggle_button_set_active() и получить с помощью gtk_toggle_button_get_active().
Для простого переключения состояния переключателя используйте gtk_toggle_button_toggled().
CSS узлы
GtkToggleButton имеет единственный CSS узел с именем button. Для различения его от обычной GtkButton применяется стилистический класс .toggle.
Создание двух виджетов GtkToggleButton.
void make_toggles (void) { GtkWidget *dialog, *toggle1, *toggle2; GtkWidget *content_area; const char *text; dialog = gtk_dialog_new (text); content_area = gtk_dialog_get_content_area (); text = "Hi, i’m a toggle button."; toggle1 = gtk_toggle_button_new_with_label (text); // Makes this toggle button invisible gtk_toggle_button_set_mode (GTK_TOGGLE_BUTTON (toggle1), TRUE); g_signal_connect (toggle1, "toggled", G_CALLBACK (output_state), NULL); gtk_box_pack_start (GTK_BOX (content_area), toggle1, FALSE, FALSE, 2); text = "Hi, i’m a toggle button."; toggle2 = gtk_toggle_button_new_with_label (text); gtk_toggle_button_set_mode (GTK_TOGGLE_BUTTON (toggle2), FALSE); g_signal_connect (toggle2, "toggled", G_CALLBACK (output_state), NULL); gtk_box_pack_start (GTK_BOX (content_area), toggle2, FALSE, FALSE, 2); gtk_widget_show_all (dialog); }
Функции
gtk_toggle_button_new ()
GtkWidget *
gtk_toggle_button_new (void); Создаёт новую кнопку переключения. Внутри виджета должна быть размещена какая-либо компонент, как в gtk_button_new().
Возвращаемое значение
новая кнопка переключения.
gtk_toggle_button_new_with_label ()
GtkWidget *
gtk_toggle_button_new_with_label (const gchar *label); Создаёт новую кнопку переключения с текстовой меткой.
Параметры
метка | строка с сообщением, которое нужно поместить в кнопку переключения. |
Возвращаемое значение
новая кнопка переключения.
gtk_toggle_button_new_with_mnemonic ()
GtkWidget *
gtk_toggle_button_new_with_mnemonic (const gchar *label); Создаёт новую GtkToggleButton с меткой. Метка создаётся с помощью gtk_label_new_with_mnemonic(), поэтому символы с нижним подчеркиванием в label обозначают мнемонику для кнопки.
Параметры
метка | текст кнопки с нижним подчеркиванием перед символом мнемоники |
Возвращаемое значение
новая GtkToggleButton
gtk_toggle_button_set_mode ()
void gtk_toggle_button_set_mode (GtkToggleButton *toggle_button,gboolean draw_indicator);
Устанавливает, отображается ли кнопка как отдельный индикатор и метка. Вы можете вызвать эту функцию для переключателя или радиокнопки с draw_indicator = FALSE, чтобы кнопка выглядела как обычная кнопка.
Это можно использовать для создания связанной полосы кнопок, которая работает как GtkStackSwitcher.
Эта функция влияет только на экземпляры классов, таких как GtkCheckButton и GtkRadioButton, которые наследуются от GtkToggleButton, а не на экземпляры GtkToggleButton самого по себе.
gtk_toggle_button_get_mode ()
gboolean
gtk_toggle_button_get_mode (GtkToggleButton *toggle_button); Возвращает, отображается ли кнопка как отдельный индикатор и метка. См. gtk_toggle_button_set_mode().
Параметры
кнопка_переключения |
Возвращаемое значение
TRUE, если кнопка переключения отображается как отдельный индикатор и метка.
gtk_toggle_button_toggled ()
void
gtk_toggle_button_toggled (GtkToggleButton *toggle_button); Вызывает сигнал “переключена” для GtkToggleButton. У приложения нет оснований для вызова этой функции.
Параметры
кнопка_переключения |
gtk_toggle_button_get_active ()
gboolean
gtk_toggle_button_get_active (GtkToggleButton *toggle_button); Получает состояние GtkToggleButton. Возвращает TRUE, если кнопка переключения нажата, и FALSE, если нет.
Параметры
кнопка_переключения |
Возвращаемое значение
значение gboolean.
gtk_toggle_button_set_active ()
void gtk_toggle_button_set_active (GtkToggleButton *toggle_button,gboolean is_active);
Устанавливает состояние кнопки переключения. Установите значение TRUE, чтобы кнопка GtkToggleButton была нажата, и FALSE, чтобы снять нажатие. Это действие вызывает срабатывание сигнала “переключена” и сигнала “нажата”.
Параметры
кнопка_переключения | ||
активная |
gtk_toggle_button_get_inconsistent ()
gboolean
gtk_toggle_button_get_inconsistent (GtkToggleButton *toggle_button); Получает значение, установленное функцией gtk_toggle_button_set_inconsistent().
Параметры
кнопка_переключения |
gtk_toggle_button_set_inconsistent ()
void gtk_toggle_button_set_inconsistent (GtkToggleButton *toggle_button,gboolean setting);
Если пользователь выбрал диапазон элементов (например, текст или ячейки таблицы), которые затронуты кнопкой переключения, и текущие значения в этом диапазоне несогласованны, вы можете отобразить кнопку в «промежуточном» состоянии. Эта функция включает отображение «промежуточного» состояния. Обычно вы отключаете несогласованное состояние, если пользователь переключает кнопку. Это действие влияет только на визуальное отображение, не влияя на семантику кнопки.
Параметры
кнопка_переключения | ||
установка |
|
Типы и значения
struct GtkToggleButton
struct GtkToggleButton;
Подробное описание свойств
Свойство “active”
“active” gboolean
Если переключатель должен быть нажат.
Флаги: Чтение / Запись
Значение по умолчанию: FALSE
Свойство “draw-indicator”
“draw-indicator” gboolean
Если отображается переключательная часть кнопки.
Флаги: Чтение / Запись
Значение по умолчанию: FALSE
Свойство “inconsistent”
“inconsistent” gboolean
Если переключатель находится в состоянии "между" состояниями.
Флаги: Чтение / Запись
Значение по умолчанию: FALSE
Подробное описание сигналов
Сигнал “toggled”
void user_function (GtkToggleButton *togglebutton, gpointer user_data)
Должен быть подключён, если требуется выполнить действие всякий раз, когда состояние GtkToggleButton изменяется.
Параметры
togglebutton | объект, получивший сигнал. | |
user_data | пользовательские данные, установленные при подключении обработчика сигнала. |
Флаги: Выполнить сначала
См. также
© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer.gnome.org/gtk3/3.22/GtkToggleButton.html