2013-05-26 5 views
2

심지어 영어 말하기에, 프로그래밍에서 아주 새로운 해요에 '인쇄'의 출력을 얻을 수 그래서 난 그냥 여기 내 문제를 설명하기 위해 노력하고있어 방법 :PyGTK 및 습지 3 - .. 텍스트 뷰

을 내가

내 파이썬 코드는 다음과 같은 것입니다, 텍스트 뷰 또는 습지 (3) 다른 일부 위젯에서 '인쇄'의 모든 출력을 보여줄 필요가 습지 3를 사용하여 GUI를 짓고 있어요 :

#ab.py 
def a(): 
    print 'AAAAA' 

def b(): 
    print 'BBBBB' 

#button_c.py 
def button_c(): 
    if: 
     print '11111' 
    elif: 
     print '22222' 
    else: 
     print '33333' 

    a() 
    b() 

if __name__ == '__main__': 

    button_c() 

난 그냥 한 파이썬 인터프리터처럼 실시간으로 객체 textview1에서 '인쇄'의 모든 출력을 보여주기 위해 사용이 같은 일부 코드를 시도하고있다 :

def on_button_c_clicked(self, widget): 
     button_c() 
     self.builder.get_object("textview1").get_buffer().set_text(??????) 

내가 봤했습니다 sys.stdout, thread, subprocess 및 textbuffer에 대한 내용을 많이 보았지만 아직 이해할 수 없지만 코드의 모든 '인쇄'부분을 다음과 같이 변경해야합니다.

def a(): 
     # print 'AAAAA' 
     output_gui = 'AAAAA' 
     print output_gui 
     self.builder.get_object("textview1").get_buffer().set_text(output_gui) 

더 똑똑한 방법이 있어야하기 때문에 아직 시도하지 않았습니다.

답변

0

Codimension (python IDE) 소스를 살펴볼 수 있습니다. 해결책 중 하나가 있습니다. 파이썬으로 작성된 모든 소스.

더 가까운

:

설치 뎁 패키지 (I 데비안 리눅스가)의 경우 - /usr/share/codimension/ui/mainwindow.py, 클래스 CodimensionMainWindow, __ 초기화 __(), 또는 같은 파일에서 타르 볼. 그것은 리다이렉터 (self-written, 나는 생각한다) 모듈 (매우 작음)을 사용한다. - /usr/share/codimension/ui/redirector.py