我可以使用wxpython使用迭代创建许多按钮吗?
我想创建多个我可以使用wxpython使用迭代创建许多按钮吗?,wxpython,Wxpython,我想创建多个wx.button。问题是,我想基于循环的值创建一个按钮,并为生成的按钮标签提供一个值。我想知道我怎样才能有效地创造这个 我是否必须一个一个地创建wx.按钮变量,就像我上传的代码那样?或者我想知道我是否可以将它做成一个循环。诀窍不只是创建许多按钮,而是使它们也可用。 如果单击它们,您必须能够识别它们。 您还必须能够定位它们。 这里有一种方法可以做到这一点。 我正在使用sizer放置它们,并使用wx.NewId为每个按钮分配一个标识 import wx class MainFream
wx.button
。问题是,我想基于循环的值创建一个按钮,并为生成的按钮标签提供一个值。我想知道我怎样才能有效地创造这个
我是否必须一个一个地创建
wx.按钮
变量,就像我上传的代码那样?或者我想知道我是否可以将它做成一个循环。诀窍不只是创建许多按钮,而是使它们也可用。如果单击它们,您必须能够识别它们。
您还必须能够定位它们。
这里有一种方法可以做到这一点。
我正在使用
sizer
放置它们,并使用wx.NewId
为每个按钮分配一个标识
import wx
class MainFream(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, None,title='test', size=(505,500), style=wx.DEFAULT_FRAME_STYLE)
self.MainPanel = wx.Panel(self)
test = []
for i in range(1,11):
test.append(i)
print(test)
self.button1 = wx.Button(self.MainPanel, label=str(test[0]), pos=(0, 0))
self.button2 = wx.Button(self.MainPanel, label=str(test[1]), pos=(100, 0))
self.button3 = wx.Button(self.MainPanel, label=str(test[2]), pos=(200, 0))
self.button4 = wx.Button(self.MainPanel, label=str(test[3]), pos=(300, 0))
self.button5 = wx.Button(self.MainPanel, label=str(test[4]), pos=(400, 0))
self.button6 = wx.Button(self.MainPanel, label=str(test[5]), pos=(0, 50))
self.button7 = wx.Button(self.MainPanel, label=str(test[6]), pos=(100, 50))
self.button8 = wx.Button(self.MainPanel, label=str(test[7]), pos=(200, 50))
self.button9 = wx.Button(self.MainPanel, label=str(test[8]), pos=(300, 50))
self.button10 = wx.Button(self.MainPanel, label=str(test[9]), pos=(400, 50))
self.button11 = wx.Button(self.MainPanel, label='...', pos=(0, 100))
self.button12 = wx.Button(self.MainPanel, label='...', pos=(100, 100))
self.button13 = wx.Button(self.MainPanel, label='...', pos=(200, 100))
self.button14 = wx.Button(self.MainPanel, label='...', pos=(300, 100))
self.button15 = wx.Button(self.MainPanel, label='...', pos=(400, 100))
if __name__ == '__main__':
app = wx.App()
fream = MainFream()
fream.Show()
app.MainLoop()
诀窍不仅仅是创建大量按钮,还要使它们可用。
如果单击它们,您必须能够识别它们。
您还必须能够定位它们。
这里有一种方法可以做到这一点。
我正在使用
sizer
放置它们,并使用wx.NewId
为每个按钮分配一个标识
import wx
class MainFream(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, None,title='test', size=(505,500), style=wx.DEFAULT_FRAME_STYLE)
self.MainPanel = wx.Panel(self)
test = []
for i in range(1,11):
test.append(i)
print(test)
self.button1 = wx.Button(self.MainPanel, label=str(test[0]), pos=(0, 0))
self.button2 = wx.Button(self.MainPanel, label=str(test[1]), pos=(100, 0))
self.button3 = wx.Button(self.MainPanel, label=str(test[2]), pos=(200, 0))
self.button4 = wx.Button(self.MainPanel, label=str(test[3]), pos=(300, 0))
self.button5 = wx.Button(self.MainPanel, label=str(test[4]), pos=(400, 0))
self.button6 = wx.Button(self.MainPanel, label=str(test[5]), pos=(0, 50))
self.button7 = wx.Button(self.MainPanel, label=str(test[6]), pos=(100, 50))
self.button8 = wx.Button(self.MainPanel, label=str(test[7]), pos=(200, 50))
self.button9 = wx.Button(self.MainPanel, label=str(test[8]), pos=(300, 50))
self.button10 = wx.Button(self.MainPanel, label=str(test[9]), pos=(400, 50))
self.button11 = wx.Button(self.MainPanel, label='...', pos=(0, 100))
self.button12 = wx.Button(self.MainPanel, label='...', pos=(100, 100))
self.button13 = wx.Button(self.MainPanel, label='...', pos=(200, 100))
self.button14 = wx.Button(self.MainPanel, label='...', pos=(300, 100))
self.button15 = wx.Button(self.MainPanel, label='...', pos=(400, 100))
if __name__ == '__main__':
app = wx.App()
fream = MainFream()
fream.Show()
app.MainLoop()
你可以很容易地列出
wx.Button
对象的列表,你在问怎么做吗?是的,它是………你可以很容易地列出wx.Button
对象的列表,你在问怎么做吗?是的,它是。。。。。。。。。。。。