2012-01-29 46 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 2012-01-29 16:38:19

+0

谢谢jcollado! – 2012-01-30 01:34:55