[英]wx.StaticBox doen't work properly
我學習wxPython的圖書館,現在我想wx.StaticBox
與wx.StaticBoxSizer
。 如文檔https://wxpython.org/Phoenix/docs/html/wx.StaticBoxSizer.html#wx-staticboxsizer中所述,建議將元素添加到staticbox作為其子級。 而且,似乎像文檔中的示例一樣,我做了所有事情,但是結果是一堆甚至沒有staticbox-line的疊加元素。 有什么問題,如何在wx.StaticBox
進行常規布局? 這是初始化主機的代碼:
def Init_UI(self):
panel = wx.Panel(self)
sb = wx.StaticBox(panel, label='Personal Info')
sbs = wx.StaticBoxSizer(sb, wx.VERTICAL)
gender = wx.StaticText(sb, label='Your gender')
male = wx.RadioButton(sb, label='Male', style=wx.RB_GROUP)
female = wx.RadioButton(sb, label='Female')
sbs.AddMany([
(gender, ),
(male, ),
(female, ),
])
您尚未set
面板的大小調整器,但還請注意,桌面上的某些主題(至少在Linux上)不顯示靜態框。 因此,如果未繪制框,請測試另一個主題。 (首選項->外觀)
import wx
class MyFrame(wx.Frame):
def __init__(self, *args, **kwargs):
wx.Frame.__init__(self, *args, **kwargs)
panel = wx.Panel(self)
sb = wx.StaticBox(panel, -1, label='Personal Info')
sbs = wx.StaticBoxSizer(sb, wx.VERTICAL)
gender = wx.StaticText(sb, label='Your gender')
male = wx.RadioButton(sb, label='Male', style=wx.RB_GROUP)
female = wx.RadioButton(sb, label='Female')
sbs.AddMany([
(gender, ),
(male, ),
(female, ),
])
panel.SetSizer(sbs)
class MyApp(wx.App):
def OnInit(self):
frame = MyFrame(None, -1, 'A Static box')
frame.Show()
return True
if __name__ == "__main__":
app = MyApp()
app.MainLoop()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.