Я не могу понять, как использовать BoxSizer wxpython
Я пытаюсь научиться использовать wxpython, но я не могу заставить BoxSizer работать правильно. Я занимаюсь этим некоторое время и смотрю на любую документацию, которую могу найти, но, похоже, не могу понять, что я делаю неправильно.
Всякий раз, когда я запускаю следующий код, кажется, что BoxSizer просто ничего не делает: https://imgur.com/a/ZRkjA
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()
1 ответ
Я думаю, что есть ошибка в этой строке:
optionsBox = wx.RadioBox(self.panel, id=wx.ID_ANY, choices=radioChoices, style=wx.RA_SPECIFY_COLS)
Родитель RadioBox должен быть self.panel
(не self
).