我可以使用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
对象的
列表,你在问怎么做吗?是的,它是。。。。。。。。。。。。