| 
 | |
|  | 
| GTK+ Reference Manual | ||||
|---|---|---|---|---|
| Top | Description | Object Hierarchy | Implemented Interfaces | Properties | Style Properties | Signals | ||||
| GtkSpinButtonGtkSpinButton Пользовательское определение целого или числа с плавающей точкой | 
 | 
#include <gtk/gtk.h>
            GtkSpinButton;
enum        GtkSpinButtonUpdatePolicy;
enum        GtkSpinType;
void        gtk_spin_button_configure       (GtkSpinButton *spin_button,
                                             GtkAdjustment *adjustment,
                                             gdouble climb_rate,
                                             guint digits);
GtkWidget*  gtk_spin_button_new             (GtkAdjustment *adjustment,
                                             gdouble climb_rate,
                                             guint digits);
GtkWidget*  gtk_spin_button_new_with_range  (gdouble min,
                                             gdouble max,
                                             gdouble step);
void        gtk_spin_button_set_adjustment  (GtkSpinButton *spin_button,
                                             GtkAdjustment *adjustment);
GtkAdjustment* gtk_spin_button_get_adjustment
                                            (GtkSpinButton *spin_button);
void        gtk_spin_button_set_digits      (GtkSpinButton *spin_button,
                                             guint digits);
void        gtk_spin_button_set_increments  (GtkSpinButton *spin_button,
                                             gdouble step,
                                             gdouble page);
void        gtk_spin_button_set_range       (GtkSpinButton *spin_button,
                                             gdouble min,
                                             gdouble max);
#define     gtk_spin_button_get_value_as_float
gint        gtk_spin_button_get_value_as_int
                                            (GtkSpinButton *spin_button);
void        gtk_spin_button_set_value       (GtkSpinButton *spin_button,
                                             gdouble value);
void        gtk_spin_button_set_update_policy
                                            (GtkSpinButton *spin_button,
                                             GtkSpinButtonUpdatePolicy policy);
void        gtk_spin_button_set_numeric     (GtkSpinButton *spin_button,
                                             gboolean numeric);
void        gtk_spin_button_spin            (GtkSpinButton *spin_button,
                                             GtkSpinType direction,
                                             gdouble increment);
void        gtk_spin_button_set_wrap        (GtkSpinButton *spin_button,
                                             gboolean wrap);
void        gtk_spin_button_set_snap_to_ticks
                                            (GtkSpinButton *spin_button,
                                             gboolean snap_to_ticks);
void        gtk_spin_button_update          (GtkSpinButton *spin_button);
guint       gtk_spin_button_get_digits      (GtkSpinButton *spin_button);
void        gtk_spin_button_get_increments  (GtkSpinButton *spin_button,
                                             gdouble *step,
                                             gdouble *page);
gboolean    gtk_spin_button_get_numeric     (GtkSpinButton *spin_button);
void        gtk_spin_button_get_range       (GtkSpinButton *spin_button,
                                             gdouble *min,
                                             gdouble *max);
gboolean    gtk_spin_button_get_snap_to_ticks
                                            (GtkSpinButton *spin_button);
GtkSpinButtonUpdatePolicy gtk_spin_button_get_update_policy
                                            (GtkSpinButton *spin_button);
gdouble     gtk_spin_button_get_value       (GtkSpinButton *spin_button);
gboolean    gtk_spin_button_get_wrap        (GtkSpinButton *spin_button);
#define     GTK_INPUT_ERROR
  GObject
   +----GInitiallyUnowned
         +----GtkObject
               +----GtkWidget
                     +----GtkEntry
                           +----GtkSpinButtonGtkSpinButton осуществляет AtkImplementorIface, GtkCellEditable и GtkEditable.
"adjustment" GtkAdjustment : Read / Write "climb-rate" gdouble : Read / Write "digits" guint : Read / Write "numeric" gboolean : Read / Write "snap-to-ticks" gboolean : Read / Write "update-policy" GtkSpinButtonUpdatePolicy : Read / Write "value" gdouble : Read / Write "wrap" gboolean : Read / Write
"shadow-type" GtkShadowType : Read
"change-value"
            void        user_function      (GtkSpinButton *spinbutton,
                                            GtkScrollType *arg1,
                                            gpointer       user_data)       : Run last / Action
"input"     gint        user_function      (GtkSpinButton *spinbutton,
                                            gpointer       arg1,
                                            gpointer       user_data)       : Run last
"output"    gboolean    user_function      (GtkSpinButton *spinbutton,
                                            gpointer       user_data)       : Run last
"value-changed"
            void        user_function      (GtkSpinButton *spinbutton,
                                            gpointer       user_data)       : Run last
"wrapped"   void        user_function      (GtkSpinButton *spinbutton,
                                            gpointer       user_data)       : Run lastGtkSpinButton идеальный способ позволяющий пользователю установить значение некоторого свойства. Вместо непосредственного ввода значения в GtkEntry, GtkSpinButton позволяет пользователю нажатием одной из двух стрелок регулировать уменьшение или увеличение отображаемого значения. Тем не менее значение может быть введено в поле, дополнительно проконтролировав соответствие заданному диапазону.
Основные свойства GtkSpinButton вытекают из GtkAdjustment. Смотрите подробности о свойствах регулирования в разделе GtkAdjustment.
Пример 1. Использование GtkSpinButton для получения целого.
/* Функция для получения целого значения из GtkSpinButton * и создание кнопок прокручивания для моделирования процентного значения. */ gint grab_int_value (GtkSpinButton *a_spinner, gpointer user_data) { return gtk_spin_button_get_value_as_int (a_spinner); } void create_integer_spin_button (void) { GtkWidget *window, *spinner; GtkAdjustment *spinner_adj; spinner_adj = (GtkAdjustment *) gtk_adjustment_new (50.0, 0.0, 100.0, 1.0, 5.0, 5.0); window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_container_set_border_width (GTK_CONTAINER (window), 5); /* создаём прокрутку (spinner), без десятичных */ spinner = gtk_spin_button_new (spinner_adj, 1.0, 0); gtk_container_add (GTK_CONTAINER (window), spinner); gtk_widget_show_all (window); return; }
Пример 2. Использование GtkSpinButton для получения значения с плавающей точкой.
/* Функция получения значения с плавающей точкой из * GtkSpinButton, и создание кнопок вращения высокой точности. */ gfloat grab_int_value (GtkSpinButton *a_spinner, gpointer user_data) { return gtk_spin_button_get_value (a_spinner); } void create_floating_spin_button (void) { GtkWidget *window, *spinner; GtkAdjustment *spinner_adj; spinner_adj = (GtkAdjustment *) gtk_adjustment_new (2.500, 0.0, 5.0, 0.001, 0.1, 0.1); window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_container_set_border_width (GTK_CONTAINER (window), 5); /* создаём поле прокручивания (spinner), с тремя знаками после запятой */ spinner = gtk_spin_button_new (spinner_adj, 0.001, 3); gtk_container_add (GTK_CONTAINER (window), spinner); gtk_widget_show_all (window); return; }
typedef struct _GtkSpinButton GtkSpinButton;
entry это GtkEntry
часть виджета GtkSpinButton
и может соответственно использоваться.
Все другие поля содержат закрытые данные
и могут модифицироваться только функциями
описанными ниже. 
typedef enum { GTK_UPDATE_ALWAYS, GTK_UPDATE_IF_VALID } GtkSpinButtonUpdatePolicy;
| GTK_UPDATE_ALWAYS | Если ваш GtkSpinButton обновляется, значение отображается всегда. | 
| GTK_UPDATE_IF_VALID | Если ваш GtkSpinButton обновляется, значение отображается только если оно находится в пределах кнопки вращения GtkAdjustment. | 
typedef enum { GTK_SPIN_STEP_FORWARD, GTK_SPIN_STEP_BACKWARD, GTK_SPIN_PAGE_FORWARD, GTK_SPIN_PAGE_BACKWARD, GTK_SPIN_HOME, GTK_SPIN_END, GTK_SPIN_USER_DEFINED } GtkSpinType;
| GTK_SPIN_STEP_FORWARD, GTK_SPIN_STEP_BACKWARD, GTK_SPIN_PAGE_FORWARD, GTK_SPIN_PAGE_BACKWARD | Это значения вращения GtkSpinButton соответствующие значениям кнопок вращения GtkAdjustment. | 
| GTK_SPIN_HOME, GTK_SPIN_END | Это устанавливает значение кнопок вращения в минимально или максимально возможные значения, (устанавливает GtkAdjustment), соответственно. | 
| GTK_SPIN_USER_DEFINED | Программист должен определить точное количество для прокручивания GtkSpinButton. | 
void        gtk_spin_button_configure       (GtkSpinButton *spin_button,
                                             GtkAdjustment *adjustment,
                                             gdouble climb_rate,
                                             guint digits);Изменяет свойства существующей кнопки прокручивания. Настройки, норма увеличения и число десятичных изменяются соответственно, после вызова этой функции.
| 
 | |
| 
 | |
| 
 | Новая норма увеличения. | 
| 
 | Число десятичных для отображения в кнопке прокручивания. | 
GtkWidget*  gtk_spin_button_new             (GtkAdjustment *adjustment,
                                             gdouble climb_rate,
                                             guint digits);Создаёт новый GtkSpinButton.
| 
 | GtkAdjustment объект который использует эта кнопка прокручивания. | 
| 
 | определяет на сколько изменяется кнопка прокручивания при нажатии на стрелки. | 
| 
 | Число десятичных для отображения. | 
| Возвращает : | Новую кнопку прокручивания как GtkWidget. | 
GtkWidget*  gtk_spin_button_new_with_range  (gdouble min,
                                             gdouble max,
                                             gdouble step);
Удобный конструктор позволяющий
создавать цифровой GtkSpinButton
без ручного создания регулировок.
Значения первоначальных установок для
минимального значения и страничного
приращения 10 * step по умолчанию.
Точность кнопки вращения эквивалентна
step. 
Помните, помните лучший способ работы
определить точность step
равным десяти. Если точность результата
не удовлетворительна для вас, используйте
для её корректировки gtk_spin_button_set_digits().
| 
 | Минимально допустимое значение | 
| 
 | Максимально допустимое значение | 
| 
 | Приращение увеличения или уменьшения при регулировки виджета | 
| Возвращает : | Новая кнопка вращения как GtkWidget. | 
void        gtk_spin_button_set_adjustment  (GtkSpinButton *spin_button,
                                             GtkAdjustment *adjustment);
Пере устанавливает GtkAdjustment
связанный с spin_button.
| 
 | |
| 
 | GtkAdjustment для пере-установки существующих регулировок | 
GtkAdjustment* gtk_spin_button_get_adjustment
                                            (GtkSpinButton *spin_button);Получает регулировки связанные с GtkSpinButton
| 
 | |
| Возвращает : | GtkAdjustment  | 
void        gtk_spin_button_set_digits      (GtkSpinButton *spin_button,
                                             guint digits);
Устанавливает точность отображения
spin_button. Допускает точность
до 20 цифр.
| 
 | |
| 
 | Число цифр после десятичной точки для отображения значения кнопки вращения | 
void        gtk_spin_button_set_increments  (GtkSpinButton *spin_button,
                                             gdouble step,
                                             gdouble page);Устанавливает шаговое и страничное приращение для spin_button. Это регулирует скорость изменения значения при активизации стрелок кнопки вращения.
| 
 | |
| 
 | Приращение применённое для нажатой кнопки 1. | 
| 
 | Приращение применённое для нажатой кнопки 2. | 
void        gtk_spin_button_set_range       (GtkSpinButton *spin_button,
                                             gdouble min,
                                             gdouble max);
Устанавливает минимально и максимально
допустимые значения для spin_button
| 
 | |
| 
 | Минимально допустимое значение | 
| 
 | Максимально допустимое значение | 
#define gtk_spin_button_get_value_as_float gtk_spin_button_get_value
gtk_spin_button_get_value_as_float
устарела и не должна использоваться во
вновь создаваемом коде.
Получает значение в spin_button.
Вместо этой устаревшей функции используйте
gtk_spin_button_get_value().
| Возвращает : | значение  | 
gint        gtk_spin_button_get_value_as_int
                                            (GtkSpinButton *spin_button);
Получает значение spin_button
представленное как целое.
| 
 | |
| Возвращает : | значение  | 
void        gtk_spin_button_set_value       (GtkSpinButton *spin_button,
                                             gdouble value);
Устанавливает значение spin_button.
| 
 | |
| 
 | Новое значение | 
void        gtk_spin_button_set_update_policy
                                            (GtkSpinButton *spin_button,
                                             GtkSpinButtonUpdatePolicy policy);Устанавливает поведение обновления кнопки вращения. Это определяет обновляется ли кнопка вращения всегда или только при установке допустимого значения.
| 
 | |
| 
 | значение GtkSpinButtonUpdatePolicy | 
void        gtk_spin_button_set_numeric     (GtkSpinButton *spin_button,
                                             gboolean numeric);Устанавливает флажок определяющий если не цифровой текст может быть впечатан в кнопку вращения.
| 
 | |
| 
 | Флажок указывающий допустим ли только цифровой ввод. | 
void        gtk_spin_button_spin            (GtkSpinButton *spin_button,
                                             GtkSpinType direction,
                                             gdouble increment);Приращение или уменьшение значения кнопки вращения в указанном направлении указанным количеством.
| 
 | |
| 
 | GtkSpinType указывает направление вращения. | 
| 
 | Шаг приращения применённый к определённому направлению. | 
void        gtk_spin_button_set_wrap        (GtkSpinButton *spin_button,
                                             gboolean wrap);Устанавливает флажок который определяет начинать или нет прокручивание с противоположного конца когда достигнут предел диапазона.
| 
 | |
| 
 | Флажок указывающий поведение при достижении предела диапазона. | 
void        gtk_spin_button_set_snap_to_ticks
                                            (GtkSpinButton *spin_button,
                                             gboolean snap_to_ticks);Устанавливает политику относительно того исправляется ли значение до ближайшего шага приращения, когда кнопка прокручивания активизируется после обеспечения недопустимого значения.
| 
 | |
| 
 | Флажок указывающий должно ли недопустимое значение исправляться. | 
void gtk_spin_button_update (GtkSpinButton *spin_button);
Заставляет самостоятельно обновлять кнопку прокручивания.
| 
 | 
guint gtk_spin_button_get_digits (GtkSpinButton *spin_button);
Определяет точность spin_button.
Смотрите gtk_spin_button_set_digits().
| 
 | |
| Возвращает : | Текущая точность | 
void        gtk_spin_button_get_increments  (GtkSpinButton *spin_button,
                                             gdouble *step,
                                             gdouble *page);
Определяет текущий шаг и страницу
приращения используемые spin_button.
Смотрите gtk_spin_button_set_increments().
| 
 | |
| 
 | Шаг приращения, или  | 
| 
 | Страница приращения, или  | 
gboolean gtk_spin_button_get_numeric (GtkSpinButton *spin_button);
Определяет можно ли вводить не цифровой
текст в кнопку прокручивания. Смотрите
gtk_spin_button_set_numeric().
| 
 | |
| Возвращает : | 
 | 
void        gtk_spin_button_get_range       (GtkSpinButton *spin_button,
                                             gdouble *min,
                                             gdouble *max);
Определяет допустимый диапазон
spin_button. Смотрите
gtk_spin_button_set_range().
| 
 | |
| 
 | Допустимое минимальное значение,
			или  | 
| 
 | Допустимое максимальное значение,
			или  | 
gboolean    gtk_spin_button_get_snap_to_ticks
                                            (GtkSpinButton *spin_button);
Определяет корректируется ли значение
до ближайшего шага. Смотрите
gtk_spin_button_set_snap_to_ticks().
| 
 | |
| Возвращает : | 
 | 
GtkSpinButtonUpdatePolicy gtk_spin_button_get_update_policy
                                            (GtkSpinButton *spin_button);
Определяет поведение обновления кнопки
прокручивания. Смотрите
gtk_spin_button_set_update_policy().
| 
 | |
| Возвращает : | Текущая политика обновления | 
gdouble gtk_spin_button_get_value (GtkSpinButton *spin_button);
Определяет значение в spin_button.
| 
 | |
| Возвращает : | значение  | 
gboolean gtk_spin_button_get_wrap (GtkSpinButton *spin_button);
Определяет должна ли кнопка прокручивания
находиться в замкнутом цикле, то есть
при достижении конца диапазона начинать
прокрутку с противоположного конца.
Смотрите gtk_spin_button_set_wrap().
| 
 | |
| Возвращает : | 
 | 
#define GTK_INPUT_ERROR -1
adjustment""adjustment" GtkAdjustment : Read / Write
Значение регулировок кнопки прокручивания.
climb-rate""climb-rate" gdouble : Read / Write
Ускорение при удерживании кнопки нажатой.
Допустимые значения: >= 0
Значение по умолчанию: 0
digits""digits" guint : Read / Write
Число отображаемых десятичных знаков.
Допустимые значения: <= 20
Значение по умолчанию: 0
numeric""numeric" gboolean : Read / Write
Должны ли игнорироваться не цифровые символы.
Значение по умолчанию: FALSE
snap-to-ticks""snap-to-ticks" gboolean : Read / Write
Должно ли недопустимое значение автоматически изменяться к ближайшему допустимому в пределах шага.
Значение по умолчанию: FALSE
update-policy""update-policy" GtkSpinButtonUpdatePolicy : Read / Write
Должна ли кнопка прокручивания обновляться всегда, или только когда значение допустимо.
Значение по умолчанию: GTK_UPDATE_ALWAYS
value""value" gdouble : Read / Write
Читает текущеме значение или устанавливает новое.
Значение по умолчанию: 0
wrap""wrap" gboolean : Read / Write
Должна ли кнопка прокручивания находится в замкнутом цикле при достижении пределов диапазона.
Значение по умолчанию: FALSE
shadow-type""shadow-type" GtkShadowType : Read
тип окантовки которая окружает стрелки в кнопке прокручивания.
Значение по умолчанию: GTK_SHADOW_IN
void        user_function                  (GtkSpinButton *spinbutton,
                                            GtkScrollType *arg1,
                                            gpointer       user_data)       : Run last / Action
| 
 | объект получающий сигнал. | 
| 
 | |
| 
 | пользовательские данные помещаемые при подключении обработчика сигнала. | 
gint        user_function                  (GtkSpinButton *spinbutton,
                                            gpointer       arg1,
                                            gpointer       user_data)       : Run last
| 
 | объект получающий сигнал. | 
| 
 | |
| 
 | пользовательские данные помещаемые при подключении обработчика сигнала. | 
| Возвращает : | 
gboolean    user_function                  (GtkSpinButton *spinbutton,
                                            gpointer       user_data)       : Run last
| 
 | объект получающий сигнал. | 
| 
 | пользовательские данные помещаемые при подключении обработчика сигнала. | 
| Возвращает : | 
void        user_function                  (GtkSpinButton *spinbutton,
                                            gpointer       user_data)       : Run last
| 
 | объект получающий сигнал. | 
| 
 | пользовательские данные помещаемые при подключении обработчика сигнала. | 
void        user_function                  (GtkSpinButton *spinbutton,
                                            gpointer       user_data)       : Run lastСигнал замкнутого цикла издаётся сразу после достижения кнопкой прокручивания предела диапазона.
| 
 | объект получающий сигнал. | 
| 
 | пользовательские данные помещаемые при подключении обработчика сигнала. | 
Начиная с версии 2.10
| Для ввода текста а не цифр. | 
| Закладки на сайте Проследить за страницей | Created 1996-2025 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |