我在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
。
我做错了什么?定义变量的最佳位置是什么?我应该使用属性吗?
答案 0 :(得分:3)
如果您希望txt在实例中的任何位置可用,最简单的方法是将其分配给自己:
self.txt = gtk.Entry()
...
self.txt.get_text()