如何在PyGTK中访问类成员?

时间:2012-02-14 04:53:22

标签: python gtk pygtk

我在PyGTK中编写了以下代码:

class Window(gtk.Window):
    def __init__(self):
        super(Window, self).__init__()
        rbtn_one = gtk.RadioButton(label = "One")
        rbtn_two = gtk.RadioButton(label = "Two", group = rbtn_one)
        txt = gtk.Entry()
        btn = gtk.Button("Click")
        fixed = gtk.Fixed()
        fixed.put(rbtn_one, 10, 10)
        fixed.put(rbtn_two, 10, 40)
        fixed.put(txt, 10, 70)
        fixed.put(btn, 10, 100)
        btn.connect("clicked", self.method)

    def method(self, widget):
        txt.get_text() # <-- Help here!

我希望访问自method以来在构建器中创建的成员。但我收到了消息:NameError: global name 'txt' is not defined

我做错了什么?定义变量的最佳位置是什么?我应该使用属性吗?

1 个答案:

答案 0 :(得分:3)

如果您希望txt在实例中的任何位置可用,最简单的方法是将其分配给自己:

self.txt = gtk.Entry()
...
self.txt.get_text()