LINUX.ORG.RU

[GTK] Индикация длительной процедуры с неизвестными итерациями

 


0

0

Здравствуйте.

Необходимо в приложении на GTK+ (GTK#) показать пользователю, что никто не умер, а приложение просто задумалось. Это не цикл, итераций и конца не знаю - соединение с сервером БД. Есть-ли штатные средства, чтобы показать бесконечный прогресбар или какой-либо другой подобный элемент?

Ответ на: комментарий от smh

>Cоединение с сервером БД в отдельный thread?

И? В основном повесить цикл и двигать прогресбар? Так это уже ручная работа. Может есть что-то готовое, ведь нередкая необходимость же.

Barlog_M
() автор топика
Ответ на: комментарий от Barlog_M

> И? В основном повесить цикл и двигать прогресбар? Так это уже ручная работа. Может есть что-то готовое, ведь нередкая необходимость же.

Хм, может и есть. Но я бы просто сделал отдельный thread и был бы доволен. :-)

smh ★★★
()
Ответ на: комментарий от ttnl

> Прогресс бар - конечной длины, ползунок в нем бегает туда-сюда.

...напрочь сбивая с толку пользователя :) Лучше уж круговой, там хоть сразу видно, что ни конца, ни края.

const86 ★★★★★
()
Ответ на: комментарий от ttnl

И чтобы он двигался надо его постоянно тыкать из программы.
In this mode, the application is required to call the pulse() method periodically to update the progress bar.
это из file:///usr/share/gtk-doc/html/pygtk/class-gtkprogressbar.html
Ну и ответы все вроде бы в этом документе есть.

world
()

gtk_progress_bar_pulse ()

void gtk_progress_bar_pulse (GtkProgressBar *pbar);

Indicates that some progress is made, but you don't know how much. Causes the progress bar to enter "activity mode," where a block bounces back and forth. Each call to gtk_progress_bar_pulse() causes the block to move by a little bit (the amount of movement per pulse is determined by gtk_progress_bar_set_pulse_step()).

trapezoid
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.