簡體   English   中英

wx.StaticBox無法正常工作

[英]wx.StaticBox doen't work properly

我學習wxPython的圖書館,現在我想wx.StaticBoxwx.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM