【发布时间】:2014-02-11 11:19:09
【问题描述】:
级别:初学者
我正在 Windows 7 操作系统上使用 wxPython 开发 GUI。 Python 版本是 2.7,wxPython 版本是 3。我的 GUI 如下图所示:
我想花一些时间来解释我想要实现的目标。正如您可能从第一张图片中注意到的那样,我的 GUI 中有 4 个不同的滚动面板,命名为 panel-1 to panel-4。垂直 BoxSizer 应用于每个滚动面板。作为回报,每个滚动面板都包含一个 boxsizer 和一个水平的wx.StaticLine。使用水平线的原因是为了让用户更容易读取特定序列号的值。 (用户可以很容易地读取特定序列号的不同面板中的所有值。)最后,所有这四个滚动面板都添加到名为panelSizer 的水平 BoxSizer 中。目前,滚动面板正在单独滚动。一件重要的事情是所有滚动的面板每次都将包含相同数量的组件/元素。
问题:
我需要一种方法,以便我可以将所有这些滚动面板添加到一个大小调整器或面板中,这样右侧只有一个滚动条,当我滚动此滚动条时,所有滚动面板(panel-1到 panel-4) 应该同时滚动。我想要这样的东西:
我认为从 GUI 的角度来看这个选项更好。我尝试了几件事,例如,我创建了一个名为 main panel 的新滚动面板,并使用 SetSizer() 函数应用了名为 panelSizer 的 BoxSizer(它包含从面板 1 到面板 4 的所有面板),但是滚动条没有出现,甚至个别滚动条也没有出现!另外,我检查了面板中是否有足够的组件,以便出现滚动条。我尝试将四个滚动面板更改为简单面板,然后添加到 panelSizer,然后将 sizer 应用于main panel,但没有解决问题..
谁能建议我的方法有什么问题?任何建议。感谢您的宝贵时间。
【问题讨论】:
-
您将 4 个面板添加到一个滚动面板中的方法应该可以工作。尝试将滚动面板调整为更小的窗口,看看是否出现滚动条。
-
@Jerry_Y,不幸的是它不起作用。我尝试调整大小。我在 panel-1 中有 12 个组件,但只显示了 9 个。但不显示滚动条。
-
能贴出你的代码就更好了。
-
@Jerry_Y 我在创建一个最小示例以在此处发布时找到了解决方案。感谢您要求我发布代码。解决方案是在名为 panel-1 到 panel-4 的滚动面板上禁用滚动。这可以通过不使用 SetupScrolling() 方法来完成。
标签: python python-2.7 wxpython