2012-01-29 2 views
2

저는 GTKBuilder에서 새롭게 변경되었습니다. 내 Python 스크립트에 GTKBuilder 파일을 포함 시켰습니다. 위젯의 속성을 변경하고 싶습니다.GTKBuilder 및 Python을 사용하여 위젯 속성 설정

예를 들어 누군가가 "추가 정보"를 클릭하면 on_more_information 기능이 실행됩니다. 트리거에서 레이블 lblConnectionStatus의 레이블을 변경하려고합니다.

import gtk 

class RoyalBengalWiMAX: 

    def __init__(self): 
     filename = "gui.xml" 
     builder = gtk.Builder() 
     builder.add_from_file(filename) 
     builder.connect_signals(self) 

    def on_window1_destroy(self, widget, data=None): 
     gtk.main_quit() 

    def on_information_click(self, widget, data=None): 




app = RoyalBengalWiMAX() 
gtk.main() 

어떻게 구현할 수 있습니까? (나는 GTKBuilder XML을 포함 할 수 없었다, stackoverflow는 너무 큼을 나타냄)

답변

3

Label.set_text("new text")의 라인을 생각해 보시겠습니까? 그렇다면 먼저 gtk.Builder.get_object("objectname")을 사용하여 파일에서 위젯을 가져와야합니다.

+1

'__init__'에서'self.builder = builder'로 빌더 객체에 대한 참조를 유지하고 콜백에서'self.builder.get_object (objectname)'를 사용하십시오. – jcollado

+0

감사합니다 jcollado! –