GUI 진행률 표시 줄을 만드는 좋은 방법을 알고 싶습니다. 나는 파이썬, Glade/GTK를 사용하고있다. 필자는 펄스 바 이상의 것을 얻고 싶습니다. 사용자가 진행 상황을 알 수있는보다 정확한 방법을 제공 할 수있는 것. 이것을 잡으려고하는 프로그램은 cdparanoia이지만 wget과 같은 다른 프로그램에서이 작업을 수행하는 방법을 알고 싶습니다. 이 두 프로그램에서 중요한 것은 stderr에 정보가 출력된다는 것입니다.GUI 진행률 표시기 (명령 줄 도구 사용)
나는 텍스트 진행률 표시 줄이 표시되어 있음을 표시하지 않는
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
감사, Narnie
비대륙 형 쉘을 다른 방식으로 처리하는 것은 매우 잘할 수 있습니다. 텍스트 진행 막대의 경우 ncurses와 같은 것을 사용할 것입니다. ncurses는 터미널에 없으면 작동하지 않습니다. 나는 구체적인 것을 모른다. – ptomato
행운을 빕니다? '-e'가 도움이 되었습니까? 나는 그것을 테스트했다.'-e'로 호출했을 때 stderr로 출력하는 것처럼 보였다. '> '문자의 위치는 적절한 분수를 계산하는 빠르고 간단하고 쉬운 방법처럼 보입니다. – senderle
슬프게도, 나는이 애플리케이션을 개발하면서 GTK3 인 다음 버전으로 레노를 바꿨다. 언젠가이 문제를 해결하고 개발을 재개하길 바란다. 그러나 나는 다른 프로젝트의 한가운데 있으며 시작하기 전에 또 다시 끝내야한다. 위의 – narnie