ScrolledPanel仅具有垂直滚动条和WrapSizer

巴吉

我使用aWrapSizer来具有这样的自动布局(如缩略图库)(请参阅左侧的屏幕截图):

在此处输入图片说明

我希望如果有两个很多元素,ScrollBar则在面板上添加一个(仅垂直)- (请参见右侧的屏幕截图)。如何使用WrapSizer将这样的垂直滚动条添加到面板?


我尝试将WrapSizer混合使用ScrolledPanel,但无法获得所需的布局。

class MyPanel(scrolled.ScrolledPanel):
    def __init__(self, parent):
        scrolled.ScrolledPanel.__init__(self, parent)
        self.SetBackgroundColour('#f8f8f8')
        sizer = wx.WrapSizer()
        self.SetupScrolling()

        # add some widgets btn1, btn2, etc. in the WrapSizer
        sizer.Add(btn1, 0, wx.ALL, 10)
        sizer.Add(btn2, 0, wx.ALL, 10)
杰瑞

解决方案:

将滚动面板虚拟尺寸的宽度重置为可显示的尺寸。

import wx
import wx.lib.scrolledpanel as scrolled

class MyPanel(scrolled.ScrolledPanel):
    def __init__(self, parent):
        scrolled.ScrolledPanel.__init__(self, parent, style=wx.VSCROLL)
        self.SetBackgroundColour('#f8f8f8')
        self.sizer = wx.WrapSizer()
        self.SetupScrolling(scroll_x = False)
        self.parent = parent

        self.addButton(self.sizer , 10)
        self.SetSizer(self.sizer )
        self.Bind(wx.EVT_SIZE, self.onSize)

    def onSize(self, evt):
        size = self.GetSize()
        vsize = self.GetVirtualSize()
        self.SetVirtualSize((size[0], vsize[1]))

        evt.Skip()

    def addButton(self, sizer, num):
        for i in range(1, num):
            btn =wx.Button( self, wx.ID_ANY, "btn"+str(i), wx.DefaultPosition, wx.DefaultSize, 0 )
            sizer.Add(btn, 0, wx.ALL, 10)

if __name__=='__main__':
    app = wx.App(redirect=False)
    frame = wx.Frame(None)
    MyPanel(frame)
    frame.Show()
    app.MainLoop()

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

仅具有垂直滚动条的TextBlock

来自分类Dev

具有固定标题的UWP垂直滚动条

来自分类Dev

在Access 2010表单的左侧具有垂直滚动条

来自分类Dev

具有图像和滚动条的Bootstrap 3 Modal

来自分类Dev

具有最大高度和溢出-y的DIV导致IE11启用窗口的垂直滚动条-为什么?

来自分类Dev

如何仅使用长内容创建带有垂直滚动条的div

来自分类Dev

滚动条具有抖动效果

来自分类Dev

具有最大宽度而不会导致垂直滚动条出现

来自分类Dev

为什么包含相同高度的img标签的div具有垂直滚动条?

来自分类Dev

具有两个垂直滚动条(左右)的JQGrid

来自分类Dev

垂直滚动条在Android内部具有可扩展列表视图

来自分类Dev

如果涉及 <h> 元素,负底边距“粘性页脚”具有烦人的垂直滚动条

来自分类Dev

如何使滚动条出现在wx.lib.scrolledpanel.ScrolledPanel中,它没有小部件,只有一条直线?

来自分类Dev

具有动态标题大小的Div和具有滚动条的内容

来自分类Dev

具有动态标题大小的Div和具有滚动条的内容

来自分类Dev

水平滚动条页面导航和垂直滚动条

来自分类Dev

带有CSS和HTML的IE垂直滚动条宽度

来自分类Dev

如果父母和孩子的身高相同,为什么会有垂直滚动条?

来自分类Dev

带有CSS和HTML的IE垂直滚动条宽度

来自分类Dev

页脚仅出现在具有偏移量的滚动条上

来自分类Dev

删除垂直滚动条

来自分类Dev

面板中的垂直和水平滚动条

来自分类Dev

WPF ListBox:垂直滚动条和焦点

来自分类Dev

启用永久的垂直和水平滚动条

来自分类Dev

垂直居中全屏div和滚动条

来自分类Dev

Tbody垂直滚动条,没有固定宽度

来自分类Dev

带有垂直滚动条的引导表

来自分类Dev

C#/ winforms面板左侧有垂直滚动条?

来自分类Dev

QScrollArea:垂直滚动条引起的水平滚动条

Related 相关文章

  1. 1

    仅具有垂直滚动条的TextBlock

  2. 2

    具有固定标题的UWP垂直滚动条

  3. 3

    在Access 2010表单的左侧具有垂直滚动条

  4. 4

    具有图像和滚动条的Bootstrap 3 Modal

  5. 5

    具有最大高度和溢出-y的DIV导致IE11启用窗口的垂直滚动条-为什么?

  6. 6

    如何仅使用长内容创建带有垂直滚动条的div

  7. 7

    滚动条具有抖动效果

  8. 8

    具有最大宽度而不会导致垂直滚动条出现

  9. 9

    为什么包含相同高度的img标签的div具有垂直滚动条?

  10. 10

    具有两个垂直滚动条(左右)的JQGrid

  11. 11

    垂直滚动条在Android内部具有可扩展列表视图

  12. 12

    如果涉及 <h> 元素,负底边距“粘性页脚”具有烦人的垂直滚动条

  13. 13

    如何使滚动条出现在wx.lib.scrolledpanel.ScrolledPanel中,它没有小部件,只有一条直线?

  14. 14

    具有动态标题大小的Div和具有滚动条的内容

  15. 15

    具有动态标题大小的Div和具有滚动条的内容

  16. 16

    水平滚动条页面导航和垂直滚动条

  17. 17

    带有CSS和HTML的IE垂直滚动条宽度

  18. 18

    如果父母和孩子的身高相同,为什么会有垂直滚动条?

  19. 19

    带有CSS和HTML的IE垂直滚动条宽度

  20. 20

    页脚仅出现在具有偏移量的滚动条上

  21. 21

    删除垂直滚动条

  22. 22

    面板中的垂直和水平滚动条

  23. 23

    WPF ListBox:垂直滚动条和焦点

  24. 24

    启用永久的垂直和水平滚动条

  25. 25

    垂直居中全屏div和滚动条

  26. 26

    Tbody垂直滚动条,没有固定宽度

  27. 27

    带有垂直滚动条的引导表

  28. 28

    C#/ winforms面板左侧有垂直滚动条?

  29. 29

    QScrollArea:垂直滚动条引起的水平滚动条

热门标签

归档