0
私はwxPythonを使って、Wordpressのカテゴリパネルのようなものを作成しようとしています。私が把握しようとしている何ボタン付きウィジェットを追加する - wxPython
、ユーザーが(「新しいカテゴリの追加」のような)ボタンをクリックしたときにウィジェットを追加する方法である
ここに私のコードです:
import wx
class MainWindow(wx.Frame):
def __init__(self, parent, id, title):
wx.Frame.__init__(self, parent, id, title, size=(300,200))
self.panel = wx.Panel(self, -1)
button = wx.Button(self.panel,-1,"Button")
self.vbox = wx.BoxSizer(wx.VERTICAL)
self.vbox.Add(button)
add_btn = wx.Button(self.panel,-1,"Add")
add_btn.Bind(wx.EVT_BUTTON, self.add)
hbox = wx.BoxSizer(wx.HORIZONTAL)
hbox.Add(add_btn)
main_vbox = wx.BoxSizer(wx.VERTICAL)
main_vbox.Add(self.vbox)
main_vbox.Add(hbox)
self.panel.SetSizer(main_vbox)
self.Centre()
self.Show(True)
def add(self,event):
self.vbox.Add((wx.Button(self.panel,-1,"Button")))
if __name__ == "__main__":
app = wx.App()
MainWindow(None, -1, 'Add a Button')
app.MainLoop()
私は、問題は、ボタンが前のボタンの上に追加されることです。私はadd()
関数のevent
引数を削除して__init__
メソッドself.add()
で呼び出すと、それはうまく動作するので、私はむしろ謎に包まれています。しかし、ユーザーがボタンをクリックしたときにウィジェットを追加する必要があるため、これは私には役に立たない。
ご迷惑をおかけして申し訳ありません。
これは機能しました。本当にありがとう! –