wxPython面板在windows中重画

2024-05-15 09:51:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图做几个不同的页面,我需要显示不同的文本和按钮。 我做的是我创建了一个面板,然后在上面创建了几个大小器,然后在下一页中,我销毁了面板,并用不同的内容/大小重新创建了面板。在

它在Linux下运行得很好,但是当我在windows中尝试相同的源代码时,第一页还可以,但是在第二页及以后,似乎没有应用sizer。在

我尝试了各种.Update()和.Refresh(),但似乎没有任何效果。在

似乎只有当我最大化窗口时,应用了尺寸调整器,布局变得正常。 (再次,之后面板。破坏()以及新一代面板,布局再次混乱。)

在Windows中,如何制作两个不同的“页面”(我点击一个按钮,它就会转到第二个页面)具有不同的内容和大小?在


Tags: 文本面板内容源代码linuxwindows尺寸update
3条回答

似乎有更好的方法可以做到这一点,但是panel.Layout()暂时解决了这个问题。:)

在小部件的父级上调用Layout是最好的方法,就是添加或销毁小部件。有时还需要调用Refresh()使其重新绘制,尽管只有在使用冻结/解冻时才需要这样做。在

我同意使用Layout(),但我是否可以建议只隐藏未使用的面板而不是销毁它?使用sizer的Show()/Hide()函数,您可以同时添加这两个面板,只需隐藏未使用的面板,而不是每次都删除它并重新创建它?在

相关问题 更多 >