python - boxsizer 内的 wxpython 笔记本

标签 python wxpython sizer wxnotebook boxsizer

这段代码有什么问题?我试图将笔记本放在由 boxsizer 控制的面板上。我是 wxpython 的新手,不知道我做错了什么。当我运行它时,它只会把角落弄得一团糟:(

import wx


class TestNoteBook(wx.Frame):
    def __init__(self, parent, id, title):
        wx.Frame.__init__(self, parent, id, title, size=(600, 500))



        panel = wx.Panel(self)

        hsizer = wx.BoxSizer(wx.HORIZONTAL)

        leftpanel = wx.Panel(panel)

        notebook = wx.Notebook(leftpanel)

        posterpage = wx.Panel(notebook)
        listpage = wx.Panel(notebook)
        notebook.AddPage(posterpage, 'posters')
        notebook.AddPage(listpage, 'list')

        hsizer.Add(leftpanel, 1, wx.EXPAND)

        rightpanel = wx.Panel(panel)

        hsizer.Add(rightpanel, 1, wx.EXPAND)

        panel.SetSizer(hsizer)




app = wx.App()
frame = TestNoteBook(None, -1, 'notebook')
frame.Show()
app.MainLoop()

最佳答案

设置左面板的大小调整器。请参阅下面的代码(尤其是 ### 添加的代码 ( ... ### 添加的代码) 之间的代码)。

import wx

class TestNoteBook(wx.Frame):
    def __init__(self, parent, id, title):
        wx.Frame.__init__(self, parent, id, title, size=(600, 500))
        panel = wx.Panel(self)
        hsizer = wx.BoxSizer(wx.HORIZONTAL)

        leftpanel = wx.Panel(panel)
        notebook = wx.Notebook(leftpanel)
        posterpage = wx.Panel(notebook)
        listpage = wx.Panel(notebook)
        notebook.AddPage(posterpage, 'posters')
        notebook.AddPage(listpage, 'list')
        hsizer.Add(leftpanel, 1, wx.EXPAND)
        rightpanel = wx.Panel(panel)
        hsizer.Add(rightpanel, 1, wx.EXPAND)

        ##### Added code (
        leftpanel_sizer = wx.BoxSizer(wx.HORIZONTAL)
        leftpanel_sizer.Add(notebook, 1, wx.EXPAND)
        leftpanel.SetSizer(leftpanel_sizer)

        rightpanel.SetBackgroundColour('blue') # not needed, to distinguish rightpanel from leftpanel
        ##### Added code )

        panel.SetSizer(hsizer)


app = wx.App()
frame = TestNoteBook(None, -1, 'notebook')
frame.Show()
app.MainLoop()

关于python - boxsizer 内的 wxpython 笔记本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17908535/

相关文章:

python - 用于 Rekognition 的端点 URL 的 AWS 连接错误

python - 我可以将 Python 脚本作为服务运行吗?

python - 我使用 wxPython 创建了一个 GUI,当我运行我的应用程序时,这些函数没有执行

resize - wxwidgets 在隐藏/显示子控件后调整 sizer

python - 一个 PathPatch 具有多种颜色

Python数据框: Create columns based on another column

python - wxPython: "Super"wx.SpinCtrl with float values, layout inside sizer

c++ - 在对话框 (wxDialog) 中安装一个大网格 (wxGrid)

python - 在小部件 WxPython 之间添加空间

colors - 如何从 wxPython 更改禁用的 TextCtrl 的 ForegroundColour