在类外使用wxPython元素?

2024-04-18 22:27:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用类外的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))

我也尝试过在def __init__()内全局化myListbox,并使用myWindow.myListbox等,但仍然得到NameError: global name 'myListbox' is not defined。正确的方法是什么?你知道吗


Tags: selfid元素initdefframeclassparent
1条回答
网友
1楼 · 发布于 2024-04-18 22:27:48

您需要分配给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)

相关问题 更多 >