wxPython ScrolledPanel 滚动条

来源:互联网 发布:知乎源代码下载 编辑:程序博客网 时间:2024/06/14 04:38

转载请注明出处,http://blog.csdn.net/Bule_Zst/article/details/77268538


滚动条的设置

两种方法:

第一种

SetScrollBars(pixelsPerUnitX, pixelsPerUnitY, noUnitsX, noUnitsY, xPos=0, yPos=0)

pixelsPerUnitX与pixelsPerUnitY是滚动单位,一般设置为1

noUnitsX与noUnitsY是滚动区域的大小(以滚动单位为单位)

xPos与yPos为滚动条的初始位置(以滚动单位为单位)

最终,滚动区域的宽为:pixelsPerUnitX * noUnitsX,高同理

也就是说,如果ScrolledPanel的size为(200,400),然后滚动区域的宽高为(200,800),那么,横向就没有滚动条,而纵向会出现一个占一半大小的滚动条。

但是,现实总是与理想有出入,实践证明,滚动区域似乎比设置的数值会大一点,就拿上面那个例子,实际上,横向还是会有一个占了很大比例的滚动条,而纵向的滚动条占的比例也小于二分之一。大概会比数值大30个滚动单位。

PS: 如果在某个维度不想设置滚动条,一般将对应维度的滚动单位设置成0

第二种

SetScrollRate(pixelsPerUnitX , pixelsPerUnitY)
SetVirtualSize( (pixelsPerUnitX * noUnitsX, pixelsPerUnitY * noUnitsY) )
参数之前已经介绍过了

举个例子

SetScrollRate( 1, 1 )SetVirtualSize( ( 200, 400 ) )

等价于

SetScrollBars( 1, 1, 200, 400 )


滚动条的滚动

方法:Scroll(x, y)

需要注意的是,x、y是以滚动单位为单位的

位置基准是最上最右,也就是说,初始状态下x、y都为0。

参考文章:wx.ScrolledWindow (或 ScrolledPanel ) 中的滚动条

原创粉丝点击