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) в контейнер toggle button. (См. GtkButton для получения дополнительной информации).
Состояние GtkToggleButton можно установить непосредственно с помощью gtk_toggle_button_set_active(), и получить с помощью gtk_toggle_button_get_active().
Для изменения состояния toggle button используйте gtk_toggle_button_toggled().
CSS узлы
GtkToggleButton имеет один CSS узел с именем button. Чтобы отличить его от обычной кнопки GtkButton, он получает класс стиля .toggle.
Создание двух виджетов GtkToggleButton.
voidmake_toggles(void){ GtkWidget*dialog,*toggle1,*toggle2; GtkWidget*content_area; constchar*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); Создаёт новую кнопку переключения с текстовой меткой.
Параметры
label | строка, содержащая текст, который будет размещён в кнопке переключения. |
Возвращает
новую кнопку переключения.
gtk_toggle_button_new_with_mnemonic ()
GtkWidget *
gtk_toggle_button_new_with_mnemonic (const gchar *label); Создаёт новую GtkToggleButton содержащую метку. Метка будет создана с помощью gtk_label_new_with_mnemonic(), поэтому нижние подчёркивания в label указывают на мнемонику для кнопки.
Параметры
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().
Параметры
toggle_button |
Возвращает
TRUE, если кнопка переключения отображается как отдельный индикатор и метка.
gtk_toggle_button_toggled ()
void
gtk_toggle_button_toggled (GtkToggleButton *toggle_button); Вызывает сигнал “toggled” для GtkToggleButton. Нет веских причин для приложения использовать эту функцию.
Параметры
toggle_button |
gtk_toggle_button_get_active ()
gboolean
gtk_toggle_button_get_active (GtkToggleButton *toggle_button); Получает текущее состояние GtkToggleButton. Возвращает TRUE, если кнопка переключения нажата, и FALSE, если она не нажата.
Параметры
toggle_button |
Возвращает
значение gboolean.
gtk_toggle_button_set_active ()
void gtk_toggle_button_set_active (GtkToggleButton *toggle_button,gboolean is_active);
Устанавливает состояние кнопки переключения. Установите в TRUE, если вы хотите, чтобы GtkToggleButton была «нажата», и в FALSE, чтобы её снять. Это действие вызывает отправку сигнала “toggled” и “clicked”.
Параметры
toggle_button | ||
is_active |
gtk_toggle_button_get_inconsistent ()
gboolean
gtk_toggle_button_get_inconsistent (GtkToggleButton *toggle_button); Получает значение, установленное с помощью gtk_toggle_button_set_inconsistent().
Параметры
toggle_button |
gtk_toggle_button_set_inconsistent ()
void gtk_toggle_button_set_inconsistent (GtkToggleButton *toggle_button,gboolean setting);
Если пользователь выбрал диапазон элементов (например, некоторый текст или ячейки электронных таблиц), которые затрагиваются кнопкой переключения, и текущие значения в этом диапазоне несовместимы, вы можете отобразить кнопку в «промежуточном» состоянии. Эта функция включает отображение «между» состояниями. Обычно вы снова выключите несовместимое состояние, если пользователь переключится на кнопку. Эта функция влияет только на визуальное отображение, не затрагивая семантику кнопки.
Параметры
toggle_button | ||
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.20/GtkToggleButton.html