Python论坛  - 讨论区

标题:[python-chinese] 十万火急,OGL怎么捕捉鼠标事件?

2007年01月10日 星期三 17:06

Deng Changfei dengcfei在gmail.com
星期三 一月 10 17:06:14 HKT 2007

ÎÒÓÃOGL»­Á˸öÁ÷³Ìͼ£¬ÏÖÔÚÏëÒªÔÚÊó±êÒƶ¯µ½Ä³¸öshapeÉϵÄʱºò£¬³öÏÖÒ»¸ötipwindowÏÔʾһЩÐÅÏ¢¡£
µ«ÊÇÏÖÔÚÎÞ·¨²¶×½µ½EVT_MOUSE_EVENTµÈÊó±êʼþ

ÎҲ鿴ÁËOGLµÄÔ´´úÂë, Àà½á¹¹ÊÇÕâÑùµÄ
object -> ShapeEvtHandler -> Shape -> BitmapShape

¶øShapeEvtHandlerÀïûÓÐÌṩÀàËÆOnMouseEventÕâÑùµÄ½Ó¿Ú£¬ ҲûÓÐÏñwx.EvtHandlerÒ»ÑùÌṩBind·½·¨¡£

¶ÔÓÚÒ»°ãµÄwindow¿Ø¼þ£¬Àà²ã´ÎÊÇÕâÑùµÄ
object -> Object -> EvtHandler -> Window ...
¶øEvtHandlerÓÐBind, ËùÒÔ¿ÉÒÔÈÎÒâ°ó¶¨Ê¼þ¡£

ÄÄλ´ïÈËÓöµ½¹ýÀàËƵÄÎÊÌâÂð£¿ÈçÃɸæÖª£¬²»Ê¤¸Ð¼¤!
-------------- 下一部分 --------------
Ò»¸öHTML¸½¼þ±»ÒƳý...
URL: http://python.cn/pipermail/python-chinese/attachments/20070110/3458cc8e/attachment.html 

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

2007年01月10日 星期三 21:36

Can Xue xuecan在gmail.com
星期三 一月 10 21:36:04 HKT 2007

看看 wxPython 的 demo:

类似:

class MyEvtHandler(ogl.ShapeEvtHandler):
    ...
    def OnMovePost(self, dc, x, y, oldX, oldY, display):
        ogl.ShapeEvtHandler.OnMovePost(self, dc, x, y, oldX, oldY, display)
        self.UpdateStatusBar(self.GetShape())


在 07-1-10,Deng Changfei<dengcfei在gmail.com> 写道:
> 我用OGL画了个流程图,现在想要在鼠标移动到某个shape上的时候,出现一个tipwindow显示一些信息。
> 但是现在无法捕捉到EVT_MOUSE_EVENT等鼠标事件
>
> 我查看了OGL的源代码, 类结构是这样的
> object -> ShapeEvtHandler -> Shape -> BitmapShape
>
> 而ShapeEvtHandler里没有提供类似OnMouseEvent这样的接口,
> 也没有像wx.EvtHandler一样提供Bind方法。
>
> 对于一般的window控件,类层次是这样的
> object -> Object -> EvtHandler -> Window ...
> 而EvtHandler有Bind, 所以可以任意绑定事件。
>
> 哪位达人遇到过类似的问题吗?如蒙告知,不胜感激!
>
> _______________________________________________
> python-chinese
> Post: send python-chinese在lists.python.cn
> Subscribe: send subscribe to
> python-chinese-request在lists.python.cn
> Unsubscribe: send unsubscribe to
> python-chinese-request在lists.python.cn
> Detail Info:
> http://python.cn/mailman/listinfo/python-chinese
>

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

2007年01月11日 星期四 08:21

Ben Luo benluo在gmail.com
星期四 一月 11 08:21:50 HKT 2007

OGL 在 Python 2.5.5以后就不是Official的组件了。好像也没人维护了。是不是考虑找别的Module替代?

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

2007年01月15日 星期一 11:22

Deng Changfei dengcfei在gmail.com
星期一 一月 15 11:22:11 HKT 2007

Oh, my god.  wikiÉÏÒ²ÓÐÌáµ½¡£²»¹ýÒòΪ̰ͼ·½±ã(OGL»á×Ô¶¯ÊµÏÖControl point£¬
ÍÏÀ­µÈ¹¦ÄÜ£©£¬²»ÖªµÀsimpleCanvasµÈ±ðµÄ¿âÓÐûÓÐÀàËƵŦÄÜ¡£



2007/1/11, Ben Luo <benluo在gmail.com>:
>
> OGL ÔÚ Python 2.5.5ÒÔºó¾Í²»ÊÇOfficialµÄ×é¼þÁË¡£ºÃÏñҲûÈËά»¤ÁË¡£ÊDz»ÊÇ¿¼ÂÇÕÒ±ðµÄModuleÌæ´ú£¿
> _______________________________________________
> python-chinese
> Post: send python-chinese在lists.python.cn
> Subscribe: send subscribe to python-chinese-request在lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request在lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
-------------- 下一部分 --------------
Ò»¸öHTML¸½¼þ±»ÒƳý...
URL: http://python.cn/pipermail/python-chinese/attachments/20070115/2861b81a/attachment.html 

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

2007年01月15日 星期一 11:29

Deng Changfei dengcfei在gmail.com
星期一 一月 15 11:29:57 HKT 2007

MyEvtHandlerÊǼ̳еÄogl.ShapeEvtHandler£¬Äú¸øµÄÀý×ÓÖÐ,
ogl.ShapeEvtHandler¸ÕºÃÓÐOnMovePost·½·¨£¬Èç¹ûogl.ShapeEvtHandlerûÓÐÌṩÕâÑùµÄ·½·¨ÄØ£¿



2007/1/10, Can Xue <xuecan在gmail.com>:
>
> ¿´¿´ wxPython µÄ demo:
>
> ÀàËÆ£º
>
> class MyEvtHandler(ogl.ShapeEvtHandler):
>    ...
>    def OnMovePost(self, dc, x, y, oldX, oldY, display):
>        ogl.ShapeEvtHandler.OnMovePost(self, dc, x, y, oldX, oldY, display)
>        self.UpdateStatusBar(self.GetShape())
>
>
> ÔÚ 07-1-10£¬Deng Changfei<dengcfei在gmail.com> дµÀ£º
> > ÎÒÓÃOGL»­Á˸öÁ÷³Ìͼ£¬ÏÖÔÚÏëÒªÔÚÊó±êÒƶ¯µ½Ä³¸öshapeÉϵÄʱºò£¬³öÏÖÒ»¸ötipwindowÏÔʾһЩÐÅÏ¢¡£
> > µ«ÊÇÏÖÔÚÎÞ·¨²¶×½µ½EVT_MOUSE_EVENTµÈÊó±êʼþ
> >
> > ÎҲ鿴ÁËOGLµÄÔ´´úÂë, Àà½á¹¹ÊÇÕâÑùµÄ
> > object -> ShapeEvtHandler -> Shape -> BitmapShape
> >
> > ¶øShapeEvtHandlerÀïûÓÐÌṩÀàËÆOnMouseEventÕâÑùµÄ½Ó¿Ú£¬
> > ҲûÓÐÏñwx.EvtHandlerÒ»ÑùÌṩBind·½·¨¡£
> >
> > ¶ÔÓÚÒ»°ãµÄwindow¿Ø¼þ£¬Àà²ã´ÎÊÇÕâÑùµÄ
> > object -> Object -> EvtHandler -> Window ...
> > ¶øEvtHandlerÓÐBind, ËùÒÔ¿ÉÒÔÈÎÒâ°ó¶¨Ê¼þ¡£
> >
> > ÄÄλ´ïÈËÓöµ½¹ýÀàËƵÄÎÊÌâÂð£¿ÈçÃɸæÖª£¬²»Ê¤¸Ð¼¤!
> >
> > _______________________________________________
> > python-chinese
> > Post: send python-chinese在lists.python.cn
> > Subscribe: send subscribe to
> > python-chinese-request在lists.python.cn
> > Unsubscribe: send unsubscribe to
> > python-chinese-request在lists.python.cn
> > Detail Info:
> > http://python.cn/mailman/listinfo/python-chinese
> >
> _______________________________________________
> python-chinese
> Post: send python-chinese在lists.python.cn
> Subscribe: send subscribe to python-chinese-request在lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request在lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
-------------- 下一部分 --------------
Ò»¸öHTML¸½¼þ±»ÒƳý...
URL: http://python.cn/pipermail/python-chinese/attachments/20070115/d2285ba7/attachment.htm 

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

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

    你的回复:

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

    Zeuux © 2025

    京ICP备05028076号