我正在尝试使用类外部的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
。什么是正确的方法? 最佳答案
您需要分配给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)
关于python - 在类外使用wxPython元素?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12847927/