2017-10-01 9 views
0

wxpythonの使い方を勉強しようとしていますが、BoxSizerを正しく動作させることができません。私はしばらくの間これを見ていて、私が見つけることができる文書を見ていましたが、私が間違っていることを見つけることができません。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) 

ラジオボックスの親はself.panelselfではなく)です。

+0

これがうまくいく場合は、「受け入れ」と記入してください。 –

関連する問題