Я хотел бы знать хороший способ сделать индикатор выполнения графического интерфейса.Я использую Python, Glade / GTK.Пример программы, которую я хотел бы получить больше, чем просто импульсную полосу.Что-то, что может дать пользователю более точный способ узнать прогресс.Программа, для которой я пытаюсь запечатлеть это cdparanoia, но мне хотелось бы узнать, как это сделать в целом для других программ, таких как wget.Важно отметить, что в этих двух программах информация выводится на stderr.
Я должен отметить, что при выполнении
output = p.stderr.read(1)
print output
Не отображается, что отображается индикатор выполнения текста.Это почти так же, как если бы он по-другому относился к неинтерактивной оболочке.Нет возврата каретки (\ r), как я и думал.
Кодировки такие:
import subprocess, shlex, gtk
command = 'cdparanoia -w -Z 1- - | sox -t wav - "my disk.flac"'
p = subprocess(shlex.split(command), stderr=subprocess.PIPE)
gui = gtk.Builder()
gui.add_from_file("pulsebar.glade")
#do magic here to make a good pulsebar
С благодарностью, Нарни