在wx.ScrolledPanel中滚动到最右端

0 投票
1 回答
783 浏览
提问于 2025-04-16 03:28

我在wx.ScrolledPanel里动态添加图片。我把它们放进了一个在ScrolledPanel内部的布局中。我想让滚动条自动滚动到最底部。

这可能吗?

我看过一些资料:

self.scroll.SetupScrolling(scroll_x=True, scroll_y=False, scrollToTop=False)

这些资料说可以解决这个问题,但在我的应用程序里却不管用。

Scrolled Panel的定义:

self.scroll = scrolled.ScrolledPanel(self, id = -1, pos = wx.DefaultPosition, size = (510, 200), style = wx.SUNKEN_BORDER)
self.sizer.Add(self.scroll)  

添加元素到里面:

self.scroll.SetSizer(self.hbox )
self.scroll.SetAutoLayout(1) 

self.scroll.SetupScrolling(scrollToTop=False)
self.scroll.FitInside()
self.SetSizerAndFit(self.sizer)
self.Refresh()  
self.Layout()

滚动条自动又回到了左边(我图片列表的开头)……有人能帮忙吗?

1 个回答

1
self.Scroll(self.GetClientSize()[0], -1)

clientSize 是一个包含两个数字(x, y)的元组,表示这个小部件的大小。而 -1 的意思是说在 Y 方向上不做任何改变。

撰写回答