1

クラスの外から wx 要素を使って何かをしようとしています:

def doStuff(uselessVariableIsUseless):
    myListbox.Set(myList)

class myWindow(wx.Frame):
    def __init__(self, parent, id):
        myListbox = wx.ListBox(parent = self, pos = (320, 30), size = (300, 500))

また、 myListbox 内def __init__()でグローバル化を試みたり、 などを使用したりしましmyWindow.myListboxたが、それでもNameError: global name 'myListbox' is not defined. これを行う正しい方法は何ですか?

4

1 に答える 1

2

self.myListboxインスタンスのプロパティにするには、に割り当てる必要があります。次に、インスタンスをメソッドに渡し、次のdoStuff方法でアクセスできます<object>.myListbox

def doStuff(win):
    win.myListbox.Set(myList)

class myWindow(wx.Frame):
    def __init__(self, parent, id):
        self.myListbox = wx.ListBox(parent = self, pos = (320, 30), size = (300, 500))

my_win = myWindow(0, 0)
doStuff(my_win)
于 2012-10-11T20:26:52.703 に答える