Python论坛  - 讨论区

标题:Re: [python-chinese] wxWidget关于ScrollBar的问题,请问有谁能帮忙

2005年07月01日 星期五 10:22

amingsc amingsc at 163.com
Fri Jul 1 10:22:08 HKT 2005

shhgs,您好!

	可以试试用parent.Bind(..........)好像我曾经遇到过相识的问题大概是这么弄的
搞定的话通报一下哈

======= 2005-06-30 00:33:00 您在来信中写道:=======

>写一个wxPanel供画图之用。Demo里面的例子没法用,因为这个图是根据数据动态形成的,移动了scrollbar之后,显示的数据区间不同了,每个数据对应在图形上的大小的比例也不同了。如果事先画好,到时候有可能会出现所有东西都挤在画布的下面或上面的情形。
>
>现在的问题是,我写了如下代码,然后怎么也捕捉不到Scroll的event。请问如何解决这个问题
>
>谢谢!!
>
>##-----------------------------------------------------------------------
>class MyCanvas(wx.Panel) :
>    def __init__(self, parent ) :
>        wx.Panel.__init__(self, parent, -1)
>        self.SetBackgroundColour(wx.WHITE)
>        self.Bind(wx.EVT_PAINT, self.OnPaint)
>        self.SetScrollbar(wx.HORIZONTAL, 0, 100, 2000, True)
>        self.Bind(wx.EVT_SCROLL, self.OnScroll)   ##------------这行是不是有问题
>##-----------------------------------------------------------------------
>
>此外wxPanel是不是可以嵌套在wxPanel里面?
>_______________________________________________
>python-chinese list
>python-chinese at lists.python.cn
>http://python.cn/mailman/listinfo/python-chinese
>

= = = = = = = = = = = = = = = = = = = =
			

        致
礼!
 
				 
        amingsc
        amingsc at 163.com
          2005-07-01


[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年07月01日 星期五 12:38

shhgs shhgs.efhilt at gmail.com
Fri Jul 1 12:38:01 HKT 2005

你好amingsc

已经搞定了。

limodou建议我用SplittedWindow(拼写可能不对),虽然不适合这个需求,但是接下来的开发中会很有用。

最后的解决过程是,subclass 一个ScrollBar,然后在parent里面创建一个对象,再用BoxSizer把它和另一个作图用的Panel绑起来。

parent.Bind是个好办法。我怎么没想到。我用了一系列的属性设定。让ScrollBar设定parent的属性,然后parent的属性自动触发各个child的属性。不知道哪个更好。

On 6/30/05, amingsc <amingsc at 163.com> wrote:
> shhgs,您好!
> 
>        可以试试用parent.Bind(..........)好像我曾经遇到过相识的问题大概是这么弄的
> 搞定的话通报一下哈
> 
> ======= 2005-06-30 00:33:00 您在来信中写道:=======
> 
> >写一个wxPanel供画图之用。Demo里面的例子没法用,因为这个图是根据数据动态形成的,移动了scrollbar之后,显示的数据区间不同了,每个数据对应在图形上的大小的比例也不同了。如果事先画好,到时候有可能会出现所有东西都挤在画布的下面或上面的情形。
> >
> >现在的问题是,我写了如下代码,然后怎么也捕捉不到Scroll的event。请问如何解决这个问题
> >
> >谢谢!!
> >
> >##-----------------------------------------------------------------------
> >class MyCanvas(wx.Panel) :
> >    def __init__(self, parent ) :
> >        wx.Panel.__init__(self, parent, -1)
> >        self.SetBackgroundColour(wx.WHITE)
> >        self.Bind(wx.EVT_PAINT, self.OnPaint)
> >        self.SetScrollbar(wx.HORIZONTAL, 0, 100, 2000, True)
> >        self.Bind(wx.EVT_SCROLL, self.OnScroll)   ##------------这行是不是有问题
> >##-----------------------------------------------------------------------
> >
> >此外wxPanel是不是可以嵌套在wxPanel里面?
> >_______________________________________________
> >python-chinese list
> >python-chinese at lists.python.cn
> >http://python.cn/mailman/listinfo/python-chinese
> >
> 
> = = = = = = = = = = = = = = = = = = = =
> 
> 
>> 礼!
> 
> 
> amingsc
>         amingsc at 163.com
> 2005-07-01
> 
> 
> _______________________________________________
> python-chinese list
> python-chinese at lists.python.cn
> http://python.cn/mailman/listinfo/python-chinese
> 
> 
>

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2025

    京ICP备05028076号