GtkProgressBar
GtkProgressBar — Виджет, визуально отображающий прогресс
Функции
Свойства
Свойства стиля
| gint | min-horizontal-bar-height | Чтение / Запись |
| gint | min-horizontal-bar-width | Чтение / Запись |
| gint | min-vertical-bar-height | Чтение / Запись |
| gint | min-vertical-bar-width | Чтение / Запись |
| gint | xspacing | Чтение / Запись |
| gint | yspacing | Чтение / Запись |
Типы и значения
| структура | GtkProgressBar |
Иерархия объектов
GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkProgressBar
Реализованные интерфейсы
GtkProgressBar реализует AtkImplementorIface, GtkBuildable и GtkOrientable.
Включаемые файлы
#include <gtk/gtk.h>
Описание
Компонент GtkProgressBar обычно используется для отображения прогресса длительной операции. Он предоставляет визуальное подтверждение того, что обработка выполняется. GtkProgressBar может использоваться в двух режимах: процентном и режиме активности.
Когда приложение может определить, сколько работы необходимо выполнить (например, прочитать определенное количество байтов из файла) и может отслеживать свой прогресс, оно может использовать GtkProgressBar в процентном режиме, и пользователь увидит растущую полосу, показывающую процент завершённой работы. В этом режиме приложение должно периодически вызывать gtk_progress_bar_set_fraction() для обновления полосы прогресса.
Когда приложение не имеет точного способа определить объем работы, оно может использовать GtkProgressBar в режиме активности, который отображает активность перемещающимся блоком в области прогресса. В этом режиме приложение должно периодически вызывать gtk_progress_bar_pulse() для обновления полосы прогресса.
Предоставляется достаточно гибкости для управления отображением GtkProgressBar. Функции позволяют управлять ориентацией полосы, отображать необязательный текст вместе с полосой и устанавливать размер шага, используемого в режиме активности.
Узлы CSS
progressbar[.osd]
╰── trough
├── [text]
╰── progress[.pulse]GtkProgressBar имеет основной узел CSS с именем progressbar и подузлы с именами text, trough и progress. Под-узел text присутствует только если отображается текст. Под-узел progress имеет класс стиля .pulse, если используется режим активности. К нему добавляются классы стиля .left, .right, .top или .bottom, когда прогресс «достигает» соответствующего конца GtkProgressBar. Класс .osd у узла progressbar предназначен для использования в наложениях, например, для отображения прогресса загрузки страницы в Epiphany.
Функции
gtk_progress_bar_new ()
GtkWidget *
gtk_progress_bar_new (void); Создаёт новую GtkProgressBar.
Возвращает
gtk_progress_bar_pulse ()
void
gtk_progress_bar_pulse (GtkProgressBar *pbar); Указывает, что прогресс был достигнут, но неизвестно насколько. Заставляет полосу прогресса перейти в режим «активности», где блок перемещается вперёд и назад. Каждый вызов gtk_progress_bar_pulse() перемещает блок немного (величина перемещения за один импульс определяется gtk_progress_bar_set_pulse_step()).
Параметры
pbar |
gtk_progress_bar_set_fraction ()
void gtk_progress_bar_set_fraction (GtkProgressBar *pbar,gdouble fraction);
Заставляет полосу прогресса заполниться заданной долей. Доля должна находиться в пределах от 0,0 до 1,0 включительно.
Параметры
pbar | ||
fraction | доля задачи, которая была завершена |
gtk_progress_bar_get_fraction ()
gdouble
gtk_progress_bar_get_fraction (GtkProgressBar *pbar); Возвращает текущую долю задачи, которая была завершена.
Параметры
pbar |
Возвращает
доля от 0,0 до 1,0
gtk_progress_bar_set_inverted ()
void gtk_progress_bar_set_inverted (GtkProgressBar *pbar,gboolean inverted);
Полосы прогресса обычно растут сверху вниз или слева направо. Инвертированные полосы прогресса растут в противоположном направлении.
Параметры
pbar | ||
inverted |
|
gtk_progress_bar_get_inverted ()
gboolean
gtk_progress_bar_get_inverted (GtkProgressBar *pbar); Получает значение, установленное функцией gtk_progress_bar_set_inverted().
Параметры
pbar |
Возвращает
TRUE, если полоса прогресса инвертирована
gtk_progress_bar_set_show_text ()
void gtk_progress_bar_set_show_text (GtkProgressBar *pbar,gboolean show_text);
Устанавливает, будет ли полоса прогресса отображать текст рядом с ней. Отображаемый текст — это значение свойства “text” или, если оно равно NULL, значение свойства “fraction” в процентах.
Чтобы создать полосу прогресса, подходящую по стилю и размеру для отображения текста (даже если текст пустой), установите “show-text” в TRUE и “text” в пустую строку (не в NULL).
Параметры
pbar | ||
show_text | отображать наложенный текст |
С: 3.0
gtk_progress_bar_get_show_text ()
gboolean
gtk_progress_bar_get_show_text (GtkProgressBar *pbar); Получает значение свойства “show-text”. См. gtk_progress_bar_set_show_text().
Параметры
pbar |
Возвращает
TRUE если текст отображается в полосе прогресса
С: 3.0
gtk_progress_bar_set_text ()
void gtk_progress_bar_set_text (GtkProgressBar *pbar,const gchar *text);
Заставляет заданный text отображаться рядом с полосой прогресса.
Если text равен NULL, а “show-text” равен TRUE, отображается текущее значение “fraction” в процентах.
Если text не равен NULL и “show-text” равен TRUE, будет отображаться текст. В этом случае процент прогресса не отображается. Если text — пустая строка, полоса прогресса всё равно будет отформатирована и размечена должным образом для отображения текста, если “show-text” равен TRUE.
Параметры
pbar | ||
text | строка UTF-8 или | [allow-none] |
gtk_progress_bar_get_text ()
const gchar *
gtk_progress_bar_get_text (GtkProgressBar *pbar); Возвращает текст, отображаемый с полосой прогресса, если он есть, в противном случае NULL. Возвращаемое значение является ссылкой на текст, а не его копией, поэтому оно станет недействительным, если вы измените текст в полосе прогресса.
Параметры
pbar |
Возвращаемое значение
текст или NULL; эта строка принадлежит виджету и не должна изменяться или освобождаться.
[nullable]
gtk_progress_bar_set_ellipsize ()
void gtk_progress_bar_set_ellipsize (GtkProgressBar *pbar,PangoEllipsizeMode mode);
Устанавливает режим усечения (добавления многоточия: "...") текста, если для отображения всей строки недостаточно места.
Параметры
pbar | ||
mode |
С: 2.6
gtk_progress_bar_get_ellipsize ()
PangoEllipsizeMode
gtk_progress_bar_get_ellipsize (GtkProgressBar *pbar); Возвращает позицию усечения полосы прогресса. См. gtk_progress_bar_set_ellipsize().
Параметры
pbar |
Возвращаемое значение
С: 2.6
gtk_progress_bar_set_pulse_step ()
void gtk_progress_bar_set_pulse_step (GtkProgressBar *pbar,gdouble fraction);
Устанавливает дробь от общей длины полосы прогресса, на которую смещается прыгающий блок для каждого вызова gtk_progress_bar_pulse().
Параметры
pbar | ||
fraction | дробь от 0.0 до 1.0 |
gtk_progress_bar_get_pulse_step ()
gdouble
gtk_progress_bar_get_pulse_step (GtkProgressBar *pbar); Возвращает шаг пульсации, установленный с помощью gtk_progress_bar_set_pulse_step().
Параметры
pbar |
Возвращаемое значение
дробь от 0.0 до 1.0
Типы и значения
struct GtkProgressBar
struct GtkProgressBar;
Подробное описание свойств
Свойство “ellipsize”
“ellipsize” PangoEllipsizeMode
Предпочтительное место усечения строки, если полоса прогресса не имеет достаточно места для отображения всей строки, заданное как PangoEllipsizeMode.
Обратите внимание, что установка этого свойства на значение, отличное от PANGO_ELLIPSIZE_NONE, приводит к тому, что полоса прогресса запрашивает только достаточно места для отображения многоточия ("..."). Другой способ установить ширину полосы прогресса — gtk_widget_set_size_request().
Флаги: Чтение / Запись
Значение по умолчанию: PANGO_ELLIPSIZE_NONE
С: 2.6
Свойство “fraction”
“fraction” gdouble
Доля от общего объёма работы, которая была выполнена.
Флаги: Чтение / Запись
Допустимые значения: [0,1]
Значение по умолчанию: 0
Свойство “inverted”
“inverted” gboolean
Инвертировать направление, в котором растёт полоса прогресса.
Флаги: Чтение / Запись
Значение по умолчанию: FALSE
Свойство “pulse-step”
“pulse-step” gdouble
Доля от общего прогресса, на которую смещается прыгающий блок при пульсации.
Флаги: Чтение / Запись
Допустимые значения: [0,1]
Значение по умолчанию: 0.1
Свойство “show-text”
“show-text” gboolean
Устанавливает, будет ли полоса прогресса отображать текст дополнительно к самой полосе. Отображаемый текст — это значение свойства “text”, или, если оно равно NULL, значение свойства “fraction” в процентах.
Чтобы создать полосу прогресса, которая стилизована и отформатирована для отображения текста (даже если текст пуст), установите “show-text” в TRUE и “text” в пустую строку (а не NULL).
Флаги: Чтение / Запись
Значение по умолчанию: FALSE
С: 3.0
Свойство “text”
“text” gchar *
Текст, отображаемый в полосе прогресса.
Флаги: Чтение / Запись
Значение по умолчанию: NULL
Подробное описание свойств стиля
Свойство стиля “min-horizontal-bar-height”
“min-horizontal-bar-height” gint
Минимальная высота горизонтальной полосы прогресса.
GtkProgressBar:min-horizontal-bar-height устарело начиная с версии 3.20 и не должно использоваться в новом коде.
Используйте стандартное свойство CSS min-height.
Флаги: Чтение / Запись
Допустимые значения: >= 1
Значение по умолчанию: 6
С версии: 2.14
Свойство стиля “min-horizontal-bar-width”
“min-horizontal-bar-width” gint
Минимальная ширина горизонтальной полосы прогресса.
GtkProgressBar:min-horizontal-bar-width устарело начиная с версии 3.20 и не должно использоваться в новом коде.
Используйте стандартное свойство CSS min-width.
Флаги: Чтение / Запись
Допустимые значения: >= 1
Значение по умолчанию: 150
С версии: 2.14
Свойство стиля “min-vertical-bar-height”
“min-vertical-bar-height” gint
Минимальная высота вертикальной полосы прогресса.
GtkProgressBar:min-vertical-bar-height устарело начиная с версии 3.20 и не должно использоваться в новом коде.
Используйте стандартное свойство CSS min-height.
Флаги: Чтение / Запись
Допустимые значения: >= 1
Значение по умолчанию: 80
С версии: 2.14
Свойство стиля “min-vertical-bar-width”
“min-vertical-bar-width” gint
Минимальная ширина вертикальной полосы прогресса.
GtkProgressBar:min-vertical-bar-width устарело начиная с версии 3.20 и не должно использоваться в новом коде.
Используйте стандартное свойство CSS min-width.
Флаги: Чтение / Запись
Допустимые значения: >= 1
Значение по умолчанию: 7
С версии: 2.14
Свойство стиля “xspacing”
“xspacing” gint
Дополнительное отступы, применяемые к ширине полосы прогресса.
GtkProgressBar:xspacing устарело начиная с версии 3.20 и не должно использоваться в новом коде.
Используйте стандартные CSS отступы и поля; значение этого свойства стиля игнорируется.
Флаги: Чтение / Запись
Допустимые значения: >= 0
Значение по умолчанию: 2
Свойство стиля “yspacing”
“yspacing” gint
Дополнительное отступы, применяемые к высоте полосы прогресса.
GtkProgressBar:yspacing устарело начиная с версии 3.20 и не должно использоваться в новом коде.
Используйте стандартные CSS отступы и поля; значение этого свойства стиля игнорируется.
Флаги: Чтение / Запись
Допустимые значения: >= 0
Значение по умолчанию: 2
© 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/GtkProgressBar.html