我不知道如何使用wxpython的BoxSizer



我正在尝试学习如何使用wxpython,但我似乎无法让拳击机能正常工作。我已经去了一段时间了,看了我能找到的任何文档,但我似乎找不到自己在做错什么。

每当我运行以下代码时,似乎根本没有做任何事情:https://i.stack.imgur.com/alvah.jpg

import wx
class Main(wx.Frame):
    def __init__(self, parent):
        wx.Frame.__init__(self, parent, wx.ID_ANY, title="PictoCrypt", size=(-1,-1))
        # Initialize Panel
        self.panel = wx.Panel(self, wx.ID_ANY)
        #Encrypt & Decrypt radio buttons
        radioChoices = ["Encrypt", "Decrypt"]
        optionsBox = wx.RadioBox(self, id=wx.ID_ANY, choices=radioChoices, style=wx.RA_SPECIFY_COLS)
        #Path Entry Line
        pathLabel = wx.StaticText(self.panel, label="File:")
        pathEntry = wx.TextCtrl(self.panel)
        #Add Entry Line into Sizers
        pathSizer = wx.BoxSizer(wx.HORIZONTAL)
        pathSizer.Add(pathLabel, wx.SizerFlags().Left())
        pathSizer.Add(pathEntry, wx.SizerFlags().Right())
        #Add everything into main sizer
        self.topSizer = wx.BoxSizer(wx.VERTICAL)
        self.panel.SetSizer(self.topSizer)
        self.topSizer.Add(optionsBox)
        self.topSizer.Add(pathSizer)    
        self.Show(True)
app = wx.App(False)
frame = Main(None)
app.MainLoop()

我认为这行有一个错误:

optionsBox = wx.RadioBox(self.panel, id=wx.ID_ANY, choices=radioChoices, style=wx.RA_SPECIFY_COLS)

radiobox的父母应为 self.panel(不是 self)。

最新更新