Как получить доступ к члену класса в PyGTK? - PullRequest
0 голосов
/ 14 февраля 2012

Я написал код ниже в 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 Ответ

3 голосов
/ 14 февраля 2012

Если вы хотите, чтобы txt был доступен в любом месте экземпляра, проще всего назначить его себе:

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