【问题标题】:Adding many scrolledpanels to one scrolledPanel in wxPython在 wxPython 中将许多滚动面板添加到一个滚动面板
【发布时间】: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


【解决方案1】:

好吧,我自己找到了解决方案,所以就到这里了。

我必须禁用面板 1 到面板 4 上的滚动。这可以通过不对它们使用SetupScrolling() 方法来完成。此外,应该在 mainPanel 上启用滚动,如下所示:

mainPanel.SetupScrolling()

例如:假设您有两个滚动面板,分别命名为 panel1panel2。现在,如果您想将这两个滚动面板添加到另一个名为 mainPanel 的滚动面板,那么您首先创建这两个滚动面板,然后禁用它们的滚动,然后将这两个面板添加两个大小,然后将此大小应用于mainPanel。 代码示例:

mainPanel = wx.lib.scrolledpanel.ScrolledPanel(self, -1,style=wx.SIMPLE_BORDER)
mainPanel.SetupScrolling()
panel1 = wx.lib.scrolledpanel.ScrolledPanel(mainPanel, -1, style=wx.SIMPLE_BORDER)
panel2 = wx.lib.scrolledpanel.ScrolledPanel(mainPanel, -1, style=wx.SIMPLE_BORDER)
panelSizer = wx.BoxSizer(wx.HORIZONTAL)
panelSizer.Add(panel1)
panelSizer.Add(panel2)
mainPanel.SetSizer(panelSizer)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-02-18
    • 2011-08-20
    • 1970-01-01
    • 1970-01-01
    • 2014-01-22
    • 1970-01-01
    • 2012-08-08
    • 2017-03-31
    相关资源
    最近更新 更多