| 
 | |
|  | 
| GTK+ Reference Manual | ||||
|---|---|---|---|---|
| Top | Description | Object Hierarchy | Properties | Style Properties | Signals | ||||
| GtkButtonGtkButton Виджет создающий сигнал когда на него нажимают | 
 | 
#include <gtk/gtk.h>
#include <gtk/gtk.h>
            GtkButton;
GtkWidget*  gtk_button_new                  (void);
GtkWidget*  gtk_button_new_with_label       (const gchar *label);
GtkWidget*  gtk_button_new_with_mnemonic    (const gchar *label);
GtkWidget*  gtk_button_new_from_stock       (const gchar *stock_id);
void        gtk_button_pressed              (GtkButton *button);
void        gtk_button_released             (GtkButton *button);
void        gtk_button_clicked              (GtkButton *button);
void        gtk_button_enter                (GtkButton *button);
void        gtk_button_leave                (GtkButton *button);
void        gtk_button_set_relief           (GtkButton *button,
                                             GtkReliefStyle newstyle);
GtkReliefStyle gtk_button_get_relief        (GtkButton *button);
const gchar* gtk_button_get_label           (GtkButton *button);
void        gtk_button_set_label            (GtkButton *button,
                                             const gchar *label);
gboolean    gtk_button_get_use_stock        (GtkButton *button);
void        gtk_button_set_use_stock        (GtkButton *button,
                                             gboolean use_stock);
gboolean    gtk_button_get_use_underline    (GtkButton *button);
void        gtk_button_set_use_underline    (GtkButton *button,
                                             gboolean use_underline);
void        gtk_button_set_focus_on_click   (GtkButton *button,
                                             gboolean focus_on_click);
gboolean    gtk_button_get_focus_on_click   (GtkButton *button);
void        gtk_button_set_alignment        (GtkButton *button,
                                             gfloat xalign,
                                             gfloat yalign);
void        gtk_button_get_alignment        (GtkButton *button,
                                             gfloat *xalign,
                                             gfloat *yalign);
void        gtk_button_set_image            (GtkButton *button,
                                             GtkWidget *image);
GtkWidget*  gtk_button_get_image            (GtkButton *button);
void        gtk_button_set_image_position   (GtkButton *button,
                                             GtkPositionType position);
GtkPositionType gtk_button_get_image_position
                                            (GtkButton *button);  GObject
   +----GInitiallyUnowned
         +----GtkObject
               +----GtkWidget
                     +----GtkContainer
                           +----GtkBin
                                 +----GtkButton
                                       +----GtkToggleButton
                                       +----GtkColorButton
                                       +----GtkFontButton
                                       +----GtkOptionMenuGtkButton осуществляет AtkImplementorIface.
"focus-on-click" gboolean : Read / Write "image" GtkWidget : Read / Write "label" gchararray : Read / Write / Construct "relief" GtkReliefStyle : Read / Write "use-stock" gboolean : Read / Write / Construct "use-underline" gboolean : Read / Write / Construct "xalign" gfloat : Read / Write "yalign" gfloat : Read / Write
"child-displacement-x" gint : Read "child-displacement-y" gint : Read "default-border" GtkBorder : Read "default-outside-border" GtkBorder : Read "displace-focus" gboolean : Read
"activate"  void        user_function      (GtkButton *widget,
                                            gpointer   user_data)      : Run first / Action
"clicked"   void        user_function      (GtkButton *button,
                                            gpointer   user_data)      : Run first / Action
"enter"     void        user_function      (GtkButton *button,
                                            gpointer   user_data)      : Run first
"leave"     void        user_function      (GtkButton *button,
                                            gpointer   user_data)      : Run first
"pressed"   void        user_function      (GtkButton *button,
                                            gpointer   user_data)      : Run first
"released"  void        user_function      (GtkButton *button,
                                            gpointer   user_data)      : Run firstВиджет GtkButton в основном используется для прикрепления к нему функций которые вызываются когда он нажат. Различные сигналы и то как ими пользоваться описано ниже.
Виджет GtkButton может содержать любой стандартный дочерний виджет GtkWidget. В основном в качестве дочернего виджета используется GtkLabel.
typedef struct _GtkButton GtkButton;
К этой структуре нет непосредственного доступа. Используйте для этого функции приведённые ниже.
GtkWidget* gtk_button_new (void);
Создаётся новый виджет GtkButton. Для добавления дочернего виджета в кнопку, используйте gtk_container_add().
| Возвращает : | Вновь созданный GtkButton виджет. | 
GtkWidget* gtk_button_new_with_label (const gchar *label);
Создаёт виджет GtkButton с дочерним виджетом GtkLabel содержащим полученный текст.
| label : | Текст который должен содержать виджет GtkLabel. | 
| Возвращает : | Вновь созданный GtkButton виджет. | 
GtkWidget* gtk_button_new_with_mnemonic (const gchar *label);
Создаёт новый GtkButton содержащий метку. Если символам в label предшествует символ подчеркивания, то они становятся подчёркнутыми. Если вам нужен символ подчеркивания в метке, используйте '__' (два символа подчёркивания). Символ подчеркивания спереди представляет клавиатурный акселератор называемый мнемоническим. Нажатый Alt и клавиша активизируют кнопку.
| label : | Текст кнопки с подчеркиванием спереди означающий мнемонический ускоритель | 
| Возвращает : | новый GtkButton | 
GtkWidget* gtk_button_new_from_stock (const gchar *stock_id);
Создаёт новый GtkButton содержащий изображение и текст готового элемента. Некоторые готовые идентификаторы имеют макрос препроцессора, такой как GTK_STOCK_OK и GTK_STOCK_APPLY.
Если stock_id не существует, то обработка будет как для метки мнемоника (как для gtk_button_new_with_mnemonic()).
| stock_id : | Имя готового элемента | 
| Возвращает : | новый GtkButton | 
void gtk_button_pressed (GtkButton *button);
Издаёт GtkButton::pressed сигнал получаемый GtkButton.
| button : | Сигнал для GtkButton который вы хотите послать. | 
void gtk_button_released (GtkButton *button);
Издаёт GtkButton::released сигнал получаемый GtkButton.
| button : | Сигнал для GtkButton который вы хотите послать. | 
void gtk_button_clicked (GtkButton *button);
Издаёт GtkButton::clicked сигнал получаемый GtkButton.
| button : | Сигнал для GtkButton который вы хотите послать. | 
void gtk_button_enter (GtkButton *button);
Издаёт GtkButton::enter сигнал получаемый GtkButton.
| button : | Сигнал для GtkButton который вы хотите послать. | 
void gtk_button_leave (GtkButton *button);
Издаёт GtkButton::leave сигнал получаемый GtkButton.
| button : | Сигнал для GtkButton который вы хотите послать. | 
void        gtk_button_set_relief           (GtkButton *button,
                                             GtkReliefStyle newstyle);Устанавливает стиль рельефа кнопки для данного виджета GtkButton. Существует три стиля, GTK_RELIEF_NORMAL, GTK_RELIEF_HALF, GTK_RELIEF_NONE. Стиль по умолчанию GTK_RELIEF_NORMAL.
| button : | Виджет GtkButton для которого вы хотите установить стиль. | 
| newstyle : | GtkReliefStyle как описано выше. | 
GtkReliefStyle gtk_button_get_relief (GtkButton *button);
Возвращает текущий стиль рельефа данного GtkButton.
| button : | GtkButton виджет от которого вы хотите получить GtkReliefStyle. | 
| Возвращает : | Текущий GtkReliefStyle | 
const gchar* gtk_button_get_label (GtkButton *button);
Извлекает текст из метки кнопки, который установлен gtk_button_set_label(). Если текст метки не был установлен, возвращается значение NULL. Это происходит в том случае если вы создаёте пустую кнопку, с помощью gtk_button_new(), для того, чтобы использовать её как контейнер.
| button : | |
| Возвращает : | Текст метки виджета. Этой строкой владеет виджет и она не должна изменяться или освобождаться. | 
void        gtk_button_set_label            (GtkButton *button,
                                             const gchar *label);Устанавливают текст метки кнопки для str. Этот текст используется также для готовых элементов, если используется gtk_button_set_use_stock().
Это также очищает любую предварительно установленную метку.
| button : | |
| label : | строка | 
gboolean gtk_button_get_use_stock (GtkButton *button);
Возвращает является ли метка кнопки заготовленным элементом.
| button : | |
| Возвращает : | TRUE если метка кнопки использована для выбора заготовленного элемента вместо непосредственного использования в качестве текста метки. | 
void        gtk_button_set_use_stock        (GtkButton *button,
                                             gboolean use_stock);Если истина, установленная метка на кнопке используется как готовый id для выбора заготовленного элемента для кнопки.
| button : | |
| use_stock : | TRUE если кнопка должна использовать заготовленный элемент | 
gboolean gtk_button_get_use_underline (GtkButton *button);
Определяет является ли встроенное подчёркивание в метке кнопки индикатором мнемоника. Смотрите gtk_button_set_use_underline().
| button : | |
| Возвращает : | TRUE если встроенное подчеркивание в метке кнопки сообщает о мнемоническом ключе акселераторе. | 
void        gtk_button_set_use_underline    (GtkButton *button,
                                             gboolean use_underline);Если истина, подчёркивание в тексте метки кнопки указывает, что следующий символ должен быть использован для мнемонического ключа акселератора.
| button : | |
| use_underline : | TRUE если подчеркивание в тексте указывает на мнемоник | 
void        gtk_button_set_focus_on_click   (GtkButton *button,
                                             gboolean focus_on_click);Устанавливает захватывать ли фокус кнопкой, когда она нажата мышкой. Не фокусироваться в момент нажатия полезно например на панели инструментов, когда вам не нужно удалять клавиатурный фокус из основной области приложения.
| button : | |
| focus_on_click : | Должна ли кнопка перехватывать фокус в момент нажатия на неё мышкой | 
Начиная с версии 2.4
gboolean gtk_button_get_focus_on_click (GtkButton *button);
Определяет захватывает ли фокус кнопка, когда она нажата мышкой. Смотрите gtk_button_set_focus_on_click().
| button : | |
| Возвращает : | TRUE если кнопка захватывает фокус, когда она нажата мышкой. | 
Начиная с версии 2.4
void        gtk_button_set_alignment        (GtkButton *button,
                                             gfloat xalign,
                                             gfloat yalign);Устанавливает выравнивание дочерних виджетов. Это свойство не имеет никакого эффекта, если дочерний виджет не является GtkMisc или GtkAligment.
| button : | |
| xalign : | Горизонтальная позиция дочернего виджета, 0.0 если левое выравнивание, 1.0 если правое | 
| yalign : | Вертикальная позиция дочернего виджета, 0.0 если верхнее выравнивание, 1.0 если нижнее выравнивание | 
Начиная с версии 2.4
void        gtk_button_get_alignment        (GtkButton *button,
                                             gfloat *xalign,
                                             gfloat *yalign);Получает выравнивание дочернего виджета в кнопке.
| button : | |
| xalign : | Размещение для возвращаемого горизонтального выравнивания | 
| yalign : | Размещение для возвращаемого вертикального выравнивания | 
Начиная с версии 2.4
void        gtk_button_set_image            (GtkButton *button,
                                             GtkWidget *image);Устанавливает данный виджет как изображение для button. Запомните, будет отображено изображение или нет зависит от установок gtk-button-images, вы не должны вызывать gtk_widget_show() для image самостоятельно.
| button : | |
| image : | Виджет устанавливаемый как изображение для кнопки | 
Начиная с версии 2.6
GtkWidget* gtk_button_get_image (GtkButton *button);
Получает текущий виджет который установлен как изображение для button. Это можно явно установить с помощью gtk_button_set_image() или создать с помощью gtk_button_new_from_stock().
| button : | |
| Возвращает : | GtkWidget или NULL если нет изображения | 
Начиная с версии 2.6
void gtk_button_set_image_position (GtkButton *button, GtkPositionType position);
Устанавливает позицию изображения относительно текста внутри кнопки.
| 
 | |
| 
 | позиция | 
Начиная с версии 2.10
GtkPositionType gtk_button_get_image_position (GtkButton *button);
Получает позицию изображения относительно текста внутри кнопки.
| 
 | |
| Возвращает: | позиция | 
Начиная с версии 2.10
"focus-on-click" gboolean : Read / Write
Должна ли кнопка перехватывать фокус при нажатии на неё мышкой.
Значение по умолчанию: TRUE
"image" GtkWidget : Read / Write
Дочерний виджет появляющийся рядом с текстом кнопки.
image-position""image-position" GtkPositionType : Read / Write
Устанавливает позицию изображения относительно текста внутри кнопки.
Значение по умолчанию: GTK_POS_LEFT
Начиная с версии 2.10
"label" gchararray : Read / Write / Construct
Текст виджета ярлыка внутри кнопки, если кнопка содержит виджет ярлык.
Значение по умолчанию: NULL
"relief" GtkReliefStyle : Read / Write
Стиль рельефа кромки.
Значение по умолчанию: GTK_RELIEF_NORMAL
"use-stock" gboolean : Read / Write / Construct
Если установлено, метка используется для выбора готового элемента вместо непосредственного отображения.
Значение по умолчанию: FALSE
"use-underline" gboolean : Read / Write / Construct
Если установлено, подчеркивание перед текстом сообщает, что следующий символ должен использоваться как ключ мнемонического акселератора.
Значение по умолчанию: FALSE
"xalign" gfloat : Read / Write
Если дочерний виджет кнопки является GtkMisc или GtkAlignment, это свойство может использоваться для контроля горизонтального выравнивания. 0.0 левое выравнивание, 1.0 правое выравнивание.
Допустимые значения: [0,1]
Значение по умолчанию: 0.5
Начиная с версии 2.4
"yalign" gfloat : Read / Write
Если дочерний виджет кнопки является GtkMisc или GtkAlignment, это свойство может использоваться для контроля вертикального выравнивания. 0.0 это верхнее выравнивание, 1.0 это нижнее выравнивание.
Допустимые значения: [0,1]
Значение по умолчанию: 0.5
Начиная с версии 2.4
"child-displacement-x" gint : Read
Как далеко перемещать дочерний виджет в направлении x, когда кнопка нажата.
Значение по умолчанию: 0
"child-displacement-y" gint : Read
Как далеко перемещать дочерний виджет в направлении y, когда кнопка нажата.
Значение по умолчанию: 0
"default-border" GtkBorder : Read
Дополнительное пространство добавляемое для CAN_DEFAULT кнопок.
"default-outside-border" GtkBorder : Read
Дополнительное пространство добавляемое для CAN_DEFAULT кнопок, которое всегда отрисовывается вне границ кромки.
"displace-focus" gboolean : Read
Должны ли свойства child_displacement_x/child_displacement_y затрагивать прямоугольник фокусировки.
Значение по умолчанию: FALSE
Начиная с версии 2.6
inner-border""inner-border" GtkBorder : Read
Устанавливает границу между кромкой кнопки и дочернего виджета.
Начиная с версии 2.10
void        user_function                  (GtkButton *widget,
                                            gpointer   user_data)      : Run first / ActionСигнал "activate" на GtkButton это сигнал действия и создаётся при нажатии или отжатии кнопки. Приложения не должны подключать этот сигнал, а использовать сигнал "clicked".
| widget : | Объект который получает сигнал. | 
| user_data : | Пользовательские данные устанавливаемые при подключении обработчика сигнала. | 
void        user_function                  (GtkButton *button,
                                            gpointer   user_data)      : Run first / ActionИздаётся когда кнопка активирована (нажата или отжата).
| button : | Объект который получает сигнал. | 
| user_data : | Пользовательские данные устанавливаемые при подключении обработчика сигнала. | 
void        user_function                  (GtkButton *button,
                                            gpointer   user_data)      : Run firstИздаётся когда указатель входит на кнопку.
Устаревшее: Используйте сигнал GtkWidget::enter-notify-event.
| button : | Объект который получает сигнал. | 
| user_data : | Пользовательские данные устанавливаемые при подключении обработчика сигнала. | 
void        user_function                  (GtkButton *button,
                                            gpointer   user_data)      : Run firstИздаётся когда указатель покидает кнопку.
Устаревшее: Используйте сигнал GtkWidget::leave-notify-event.
| button : | Объект который получает сигнал. | 
| user_data : | Пользовательские данные устанавливаемые при подключении обработчика сигнала. | 
void        user_function                  (GtkButton *button,
                                            gpointer   user_data)      : Run firstИздаётся когда кнопка нажата.
Устаревшее: Используйте сигнал GtkWidget::button-press-event.
| button : | Объект который получает сигнал. | 
| user_data : | Пользовательские данные устанавливаемые при подключении обработчика сигнала. | 
void        user_function                  (GtkButton *button,
                                            gpointer   user_data)      : Run firstИздаётся когда кнопка отжата.
Устаревшее: Используйте сигнал GtkWidget::button-release-event.
| button : | Объект который получает сигнал. | 
| user_data : | Пользовательские данные устанавливаемые при подключении обработчика сигнала. | 
| Закладки на сайте Проследить за страницей | Created 1996-2025 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |