WxPython 无法正确呈现
WxPython not rendering correctly
我在从菜单项调用后创建了一个 WxPython 笔记本,但不幸的是它没有正确呈现(只能看到角落里的一个小蓝色形状)。我必须手动调整 window 的大小,它会像第二张图片一样弹回工作状态。
代码:
def load_notebook(self):
panel = wx.Panel(self)
sizer = wx.BoxSizer(wx.VERTICAL)
notebook = apps.srp.main.Notebook(panel)
sizer.Add(notebook, 1, wx.ALL | wx.EXPAND, 5)
panel.SetSizer(sizer)
我尝试过的事情:
self.Layout()
self.Refresh()
self.Update()
notebook.Layout()
notebook.Refresh()
notebook.Update()
在主目录和笔记本和面板所在的文件夹中。
使用
- wxPython-凤凰(3.0.3.dev1820+49a8884)
- Python3.4
- OSX 10.10
所以经过一些调整和使用 Widget Inspection Tool 的提示后,确实是容纳笔记本的面板没有根据框架调整大小(假设默认大小我猜是 20x20 像素这是我看到的小蓝点)
解决方案是在添加notebook后添加以下内容:
sizer_parent = wx.BoxSizer()
sizer_parent.Add(panel, 1, wx.ALL | wx.EXPAND, 5)
self.SetSizer(sizer_parent)
self.Layout()
我遇到了同样的问题,如果 window 调整了大小,组合框只会进入它的位置,但发布的解决方案对我不起作用。我通过创建一个函数来解决这个问题,该函数只是为您调整 window 的大小:
def forceRefresh(self):
self.SetSize((self.GetSize().width, self.GetSize().height+1))
self.SetSize((self.GetSize().width, self.GetSize().height-1))
虽然不是最理想的,但它为我完成了技巧,所以希望它可以帮助其他人。
我在从菜单项调用后创建了一个 WxPython 笔记本,但不幸的是它没有正确呈现(只能看到角落里的一个小蓝色形状)。我必须手动调整 window 的大小,它会像第二张图片一样弹回工作状态。
代码:
def load_notebook(self):
panel = wx.Panel(self)
sizer = wx.BoxSizer(wx.VERTICAL)
notebook = apps.srp.main.Notebook(panel)
sizer.Add(notebook, 1, wx.ALL | wx.EXPAND, 5)
panel.SetSizer(sizer)
我尝试过的事情:
self.Layout()
self.Refresh()
self.Update()
notebook.Layout()
notebook.Refresh()
notebook.Update()
在主目录和笔记本和面板所在的文件夹中。
使用
- wxPython-凤凰(3.0.3.dev1820+49a8884)
- Python3.4
- OSX 10.10
所以经过一些调整和使用 Widget Inspection Tool 的提示后,确实是容纳笔记本的面板没有根据框架调整大小(假设默认大小我猜是 20x20 像素这是我看到的小蓝点)
解决方案是在添加notebook后添加以下内容:
sizer_parent = wx.BoxSizer()
sizer_parent.Add(panel, 1, wx.ALL | wx.EXPAND, 5)
self.SetSizer(sizer_parent)
self.Layout()
我遇到了同样的问题,如果 window 调整了大小,组合框只会进入它的位置,但发布的解决方案对我不起作用。我通过创建一个函数来解决这个问题,该函数只是为您调整 window 的大小:
def forceRefresh(self):
self.SetSize((self.GetSize().width, self.GetSize().height+1))
self.SetSize((self.GetSize().width, self.GetSize().height-1))
虽然不是最理想的,但它为我完成了技巧,所以希望它可以帮助其他人。