GtkProgressBar
GtkProgressBar — Виджет, визуально отображающий прогресс
Функции
| GtkWidget * | gtk_progress_bar_new () |
| void | gtk_progress_bar_pulse () |
| void | gtk_progress_bar_set_fraction () |
| gdouble | gtk_progress_bar_get_fraction () |
| void | gtk_progress_bar_set_inverted () |
| gboolean | gtk_progress_bar_get_inverted () |
| void | gtk_progress_bar_set_show_text () |
| gboolean | gtk_progress_bar_get_show_text () |
| void | gtk_progress_bar_set_text () |
| const gchar * | gtk_progress_bar_get_text () |
| void | gtk_progress_bar_set_ellipsize () |
| PangoEllipsizeMode | gtk_progress_bar_get_ellipsize () |
| void | gtk_progress_bar_set_pulse_step () |
| gdouble | gtk_progress_bar_get_pulse_step () |
Свойства
| PangoEllipsizeMode | ellipsize | Чтение / Запись |
| double | fraction | Чтение / Запись |
| gboolean | inverted | Чтение / Запись |
| double | pulse-step | Чтение / Запись |
| gboolean | show-text | Чтение / Запись |
| char * | text | Чтение / Запись |
Стилизованные свойства
| int | min-horizontal-bar-height | Чтение / Запись |
| int | min-horizontal-bar-width | Чтение / Запись |
| int | min-vertical-bar-height | Чтение / Запись |
| int | min-vertical-bar-width | Чтение / Запись |
| int | xspacing | Чтение / Запись |
| int | yspacing | Чтение / Запись |
Типы и значения
| struct | 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]
├── [text]
╰── trough[.empty][.full]
╰── 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 пустое и “show-text” установлено, то текущее значение “fraction” будет отображено в процентах.
Если text не пустое и “show-text” установлено, то отобразится текст. В этом случае не будет отображаться процент прогресса. Если text пустая строка, полоса прогресса всё равно будет отформатирована и размещена для отображения текста, если “show-text” установлено.
Параметры
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 | объект GtkProgressBar |
Возвращаемое значение
С версии: 2.6
gtk_progress_bar_set_pulse_step ()
void gtk_progress_bar_set_pulse_step (GtkProgressBar *pbar,gdouble fraction);
Устанавливает долю длины полосы прогресса, на которую смещается блочная анимация при каждом вызове gtk_progress_bar_pulse().
Параметры
pbar | объект GtkProgressBar | |
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 | объект GtkProgressBar |
Возвращаемое значение
значение от 0,0 до 1,0
Типы и значения
struct GtkProgressBar
struct GtkProgressBar;
Подробное описание свойств
Свойство “ellipsize”
“ellipsize” PangoEllipsizeMode
Предпочтительное место обрезания строки, если полоса прогресса не может отобразить всю строку, задаётся как PangoEllipsizeMode.
Обратите внимание, что установка этого свойства на значение отличное от PANGO_ELLIPSIZE_NONE приведёт к тому, что полоса прогресса запросит только необходимое пространство для отображения многоточия ("..."). Другой способ установить ширину полосы прогресса — gtk_widget_set_size_request().
Владелец: GtkProgressBar
Флаги: Чтение/Запись
Значение по умолчанию: PANGO_ELLIPSIZE_NONE
С версии: 2.6
Свойство “fraction”
“fraction” double
Доля выполненной работы.
Владелец: GtkProgressBar
Флаги: Чтение/Запись
Допустимые значения: [0,1]
Значение по умолчанию: 0
Свойство “inverted”
“inverted” gboolean
Инвертировать направление роста полосы прогресса.
Владелец: GtkProgressBar
Флаги: Чтение/Запись
Значение по умолчанию: FALSE
Свойство “pulse-step”
“pulse-step” double
Доля прогресса, на которую смещается блочная анимация при пульсации.
Владелец: GtkProgressBar
Флаги: Чтение/Запись
Допустимые значения: [0,1]
Значение по умолчанию: 0.1
Свойство “show-text”
“show-text” gboolean
Устанавливает, будет ли полоса прогресса отображать текст в дополнение к самой полосе. Отображаемый текст — значение свойства “text”, или, если оно NULL, значение свойства “fraction” в процентах.
Чтобы сделать полосу прогресса, подходящую для отображения текста (даже если сам текст пустой), установите “show-text” в TRUE и “text” в пустую строку (не NULL).
Владелец: GtkProgressBar
Флаги: Чтение/Запись
Значение по умолчанию: FALSE
С версии: 3.0
Свойство “text”
“text” char *
Текст, который нужно отобразить в полосе прогресса.
Владелец: GtkProgressBar
Флаги: Чтение/Запись
Значение по умолчанию: NULL
Подробное описание свойств стиля
Свойство стиля “min-horizontal-bar-height”
“min-horizontal-bar-height” int
Минимальная высота горизонтальной полосы прогресса.
GtkProgressBar:min-horizontal-bar-height устарел с версии 3.20 и не должен использоваться в новых кодах.
Используйте стандартное свойство CSS min-height.
Владелец: GtkProgressBar
Флаги: Чтение/Запись
Допустимые значения: >= 1
Значение по умолчанию: 6
С версии: 2.14
Свойство стиля “min-horizontal-bar-width”
“min-horizontal-bar-width” int
Минимальная ширина горизонтальной полосы прогресса.
GtkProgressBar:min-horizontal-bar-width устарел с версии 3.20 и не должен использоваться в новых кодах.
Используйте стандартное свойство CSS min-width.
Владелец: GtkProgressBar
Флаги: Чтение/Запись
Допустимые значения: >= 1
Значение по умолчанию: 150
С версии: 2.14
Свойство стиля “min-vertical-bar-height”
“min-vertical-bar-height” int
Минимальная высота вертикальной полосы прогресса.
GtkProgressBar:min-vertical-bar-height устарел с версии 3.20 и не должен использоваться в новых кодах.
Используйте стандартное свойство CSS min-height.
Владелец: GtkProgressBar
Флаги: Чтение/Запись
Допустимые значения: >= 1
Значение по умолчанию: 80
С версии: 2.14
Свойство стиля “min-vertical-bar-width”
“min-vertical-bar-width” int
Минимальная ширина вертикальной полосы прогресса.
GtkProgressBar:min-vertical-bar-width устарел с версии 3.20 и не должен использоваться в новых кодах.
Используйте стандартное свойство CSS min-width.
Владелец: GtkProgressBar
Флаги: Чтение/Запись
Допустимые значения: >= 1
Значение по умолчанию: 7
С версии: 2.14
Свойство стиля “xspacing”
“xspacing” int
Дополнительное пространство, добавляемое к ширине полосы прогресса.
GtkProgressBar:xspacing устарел с версии 3.20 и не должен использоваться в новых кодах.
Используйте стандартные свойства CSS padding и margin; значение этого свойства стиля игнорируется.
Владелец: GtkProgressBar
Флаги: Чтение/Запись
Допустимые значения: >= 0
Значение по умолчанию: 2
Свойство стиля “yspacing”
“yspacing” int
Дополнительное пространство, добавляемое к высоте полосы прогресса.
GtkProgressBar:yspacing устарел с версии 3.20 и не должен использоваться в новых кодах.
Используйте стандартные свойства CSS padding и margin; значение этого свойства стиля игнорируется.
Владелец: GtkProgressBar
Флаги: Чтение/Запись
Допустимые значения: >= 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.24/GtkProgressBar.html