2007年09月08日 星期六 11:33
½üÈÕÀ´ÓÃwxpythonдһ¸ö³ÌÐòʱÓöµ½Á˼¸¸öÖ÷ÒªµÄÎÊÌ⣬Çë½Ì¸÷λ´ïÈË¡£ ÎҵijÌÐòÊÇÒ»¸öFrame£¬ÉÏÃæ·ÅÁËÒ»¸öPanel£¬PanelÉÏ·ÅÁËÒ»¸öStaticBitmapºÍÁ½¸öStaticText¡£ ³ÌÐòÁ÷³ÌÊǸù¾Ý¼üÅÌʼþ»òTimer¶ÔStaticBitmap¼°StaticTextÉϵÄͼƬºÍÎÄ×Ö½øÐÐÇл»£¬Ò»¸öÏÔʾʱ ÆäËüµÄÒþ²Ø¡£ 1¡¢´°¿ÚµÄˢУ¬ÎÒÓÃShow(True/False)·½·¨À´ÊµÏÖÒþ²ØÓëÏÔʾ£¬µ«Ê±²»Ê±»á³öÏÖµÄÎÊÌâÊÇÓüüÅÌ ½øÐпØÖÆʱÓÐʱ¸ÃÏÔʾʱ²»ÏÔʾ£¬ÓÐʱ¸ÃÒþ²Øʱ²»Òþ²Ø¡£Õâ¸öÎÊÌâºóÀ´ÎÒËãÊǽâ¾öÁË£¬ÓÃÁËUpdate()·½·¨£¬ ¶ÔPanel½øÐÐˢУ¬ËäÈ»ÓÐʱҲ»á³öЩĪÃûÆäÃîµÄÎÊÌ⣬²»¹ý¸ã²»Çå³þÔÒò¡£ 2¡¢ÔÚijһ¸ö´¦ÀíÖУ¬ÎÒÏ£ÍûÆÁ±Î¼üÅÌʼþ£¬ÎÒÊÔͼÓÃtime.sleep(2.0)À´ÊµÏÖ£¬½á¹û·¢ÏÖ½ø³ÌÔÚsleep¹ý³Ì Ò²Äܲ¶»ñ¼üÅÌʼþ¡£²»ÖªµÀÓÐʲôº¯Êý¿ÉÒÔʵÏÖ£¿ÎÒÊÔÁËDisable()ºÍUnbind()¶¼¾õµÃ²»Íס£ 3¡¢ÎÒÏ£Íû°ÑStaticBitmapºÍStaticText¶¼Ïà¶ÔPanelÀ´¾ÓÖÐÏÔʾ£¬µ«ÊÇÎÒ³¢ÊÔÓÃCenter£¬CenterOnParent ¶¼Ã»»ñµÃÐèÒªµÄЧ¹û¡£StaticTextµ¹ÊǾÓÖÐÁË£¨ÎÒÒ²²»ÖªµÀΪʲô£¬ÔÚÓÐЩ²âÊÔÀïÓÖ²»ÐУ©£¬StaticBitmap ʼÖÕÎÞ·¨¾ÓÖУ¬ÄѵÀÖ»ÄÜͨ¹ý¼ÆËã´°ÌåÓë¿Ø¼þµÄ³¤¿íºÍλÖÃÀ´ÉèÖÃλÖÃÂ𣿠-------------- 下一部分 -------------- Ò»¸öHTML¸½¼þ±»ÒƳý... URL: http://python.cn/pipermail/python-chinese/attachments/20070908/a9ab4f39/attachment.html
2007年09月09日 星期日 22:45
> 1、窗口的刷新,我用Show(True/False)方法来实现隐藏与显示,但时不时会出现的问题是用键盘 > 进行控制时有时该显示时不显示,有时该隐藏时不隐藏。这个问题后来我算是解决了,用了Update()方法, > 对Panel进行刷新,虽然有时也会出些莫名其妙的问题,不过搞不清楚原因。 > 用键盘的时候没有正确响应是因为你的键盘绑定的控件没有获得焦点,所以没有捕获到键盘的输入,也就没有响应了。 当然,对于你的这个问题很可能是StaticBitmap带来的副作用。 至于刷新时出现的问题,请详细描述。 > 2、在某一个处理中,我希望屏蔽键盘事件,我试图用time.sleep(2.0)来实现,结果发现进程在sleep过程 > 也能捕获键盘事件。不知道有什么函数可以实现?我试了Disable()和Unbind()都觉得不妥。 > 试试用计时器配合Freeze()和Thaw()能否实现。 当然也可以自己实现,在你的某一个处理过程中设置一个全局变量,然后在event handler里面判断这个变量的值,如果判断出不要捕获事件的话,就直接写上event.Skip()就好了。 > 3、我希望把StaticBitmap和StaticText都相对Panel来居中显示,但是我尝试用Center,CenterOnParent > 都没获得需要的效果。StaticText倒是居中了(我也不知道为什么,在有些测试里又不行),StaticBitmap > 始终无法居中,难道只能通过计算窗体与控件的长宽和位置来设置位置吗? > StaticBitmap控件对于动态改变内容并重画的时候确实有问题,变到左上角了。我的解决办法就是不用,呵呵。 直接用PaintDC在panel的client区域draw出来就好了。
2007年09月10日 星期一 22:29
event.skip()不错 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://python.cn/pipermail/python-chinese/attachments/20070910/a57a6606/attachment.html
2007年09月12日 星期三 10:38
ÔÚ07-9-9£¬Âí̤·ÉÑà <honeyday.mj在gmail.com> дµÀ£º > > > 1¡¢´°¿ÚµÄˢУ¬ÎÒÓÃShow(True/False)·½·¨À´ÊµÏÖÒþ²ØÓëÏÔʾ£¬µ«Ê±²»Ê±»á³öÏÖµÄÎÊÌâÊÇÓüüÅÌ > > ½øÐпØÖÆʱÓÐʱ¸ÃÏÔʾʱ²»ÏÔʾ£¬ÓÐʱ¸ÃÒþ²Øʱ²»Òþ²Ø¡£Õâ¸öÎÊÌâºóÀ´ÎÒËãÊǽâ¾öÁË£¬ÓÃÁËUpdate()·½·¨£¬ > > ¶ÔPanel½øÐÐˢУ¬ËäÈ»ÓÐʱҲ»á³öЩĪÃûÆäÃîµÄÎÊÌ⣬²»¹ý¸ã²»Çå³þÔÒò¡£ > > > ÓüüÅ̵ÄʱºòûÓÐÕýÈ·ÏìÓ¦ÊÇÒòΪÄãµÄ¼üÅ̰󶨵ĿؼþûÓлñµÃ½¹µã£¬ËùÒÔûÓⶻñµ½¼üÅ̵ÄÊäÈ룬Ҳ¾ÍûÓÐÏìÓ¦ÁË¡£ > µ±È»£¬¶ÔÓÚÄãµÄÕâ¸öÎÊÌâºÜ¿ÉÄÜÊÇStaticBitmap´øÀ´µÄ¸±×÷Óᣠ> ÖÁÓÚË¢ÐÂʱ³öÏÖµÄÎÊÌ⣬ÇëÏêϸÃèÊö¡£ > > > 2¡¢ÔÚijһ¸ö´¦ÀíÖУ¬ÎÒÏ£ÍûÆÁ±Î¼üÅÌʼþ£¬ÎÒÊÔͼÓÃtime.sleep(2.0)À´ÊµÏÖ£¬½á¹û·¢ÏÖ½ø³ÌÔÚsleep¹ý³Ì > > Ò²Äܲ¶»ñ¼üÅÌʼþ¡£²»ÖªµÀÓÐʲôº¯Êý¿ÉÒÔʵÏÖ£¿ÎÒÊÔÁËDisable()ºÍUnbind()¶¼¾õµÃ²»Íס£ > > > > ÊÔÊÔÓüÆʱÆ÷ÅäºÏFreeze()ºÍThaw()ÄÜ·ñʵÏÖ¡£ > µ±È»Ò²¿ÉÒÔ×Ô¼ºÊµÏÖ£¬ÔÚÄãµÄijһ¸ö´¦Àí¹ý³ÌÖÐÉèÖÃÒ»¸öÈ«¾Ö±äÁ¿£¬È»ºóÔÚevent > handlerÀïÃæÅжÏÕâ¸ö±äÁ¿µÄÖµ£¬Èç¹ûÅжϳö²»Òª²¶»ñʼþµÄ»°£¬¾ÍÖ±½ÓдÉÏevent.Skip()¾ÍºÃÁË¡£ ʹÓÃÁËÒ»¸öÈ«¾Ö±äÁ¿£¬¿ØÖÆÁ˼üÅÌʼþµÄÏìÓ¦ > 3¡¢ÎÒÏ£Íû°ÑStaticBitmapºÍStaticText¶¼Ïà¶ÔPanelÀ´¾ÓÖÐÏÔʾ£¬µ«ÊÇÎÒ³¢ÊÔÓÃCenter£¬CenterOnParent > > ¶¼Ã»»ñµÃÐèÒªµÄЧ¹û¡£StaticTextµ¹ÊǾÓÖÐÁË£¨ÎÒÒ²²»ÖªµÀΪʲô£¬ÔÚÓÐЩ²âÊÔÀïÓÖ²»ÐУ©£¬StaticBitmap > > ʼÖÕÎÞ·¨¾ÓÖУ¬ÄѵÀÖ»ÄÜͨ¹ý¼ÆËã´°ÌåÓë¿Ø¼þµÄ³¤¿íºÍλÖÃÀ´ÉèÖÃλÖÃÂ𣿠> > > StaticBitmap¿Ø¼þ¶ÔÓÚ¶¯Ì¬¸Ä±äÄÚÈݲ¢ÖØ»µÄʱºòȷʵÓÐÎÊÌ⣬±äµ½×óÉϽÇÁË¡£ÎҵĽâ¾ö°ì·¨¾ÍÊDz»Ó㬺Ǻǡ£ > Ö±½ÓÓÃPaintDCÔÚpanelµÄclientÇøÓòdraw³öÀ´¾ÍºÃÁË¡£ ллָµã£¬ÎÒÏÖÔÚ²ÉÓÃÁËÄãËù½²µÄ·½·¨¡£ÏÖÔÚÎÒËùÓб仯µÄÎÄ×ÖºÍͼƬ¶¼ÓÃPaintDCÔÚÏìÓ¦EVT_PAINTʼþµÄOnPaintº¯ÊýÖл³öÀ´¡£ ÔÚÐèÒªµÄʱºòÓÃself.Refresh()µ÷ÓÃOnPaintÖØ»¡£ µ«ÏÖÔÚÅöµ½Ò»¸öÎÊÌ⣬´úÂëÈçÏ£º def OnKeyUp(self): ----------------EVT_KEY_UPµÄÏìÓ¦º¯Êý ......... self.Refresh() time.sleep(1.5) ......... Õâ¸öº¯ÊýÏÈ·µ»ØÔÙˢС£ def OnTimer(self): ------------------TimerʼþµÄµ÷Óú¯Êý .......... self.Refresh() time.sleep(1.5) ............. Õâ¸öº¯ÊýÏÈË¢ÐÂÔÙ¼ÌÐøÖ´ÐÐÏÂÃæµÄ´úÂë¡£ ÎÒÏ£ÍûµÃµ½µÄÊǺ¯Êý2µÄЧ¹û£¬¼´Åöµ½Ë¢Ð¾ÍÏÈË¢ÐÂÔÙÖ´ÐÐÒÔÏ´úÂ룬¶ø²»ÊÇÏñº¯Êý1ÄÇÑùµÈ´ý·µ»ØÔÙˢС£ ÎÒ²»ÖªµÀÔõÑùÄÜʵÏÖÈçOnTimerÄÇÑùµÄЧ¹û£¿ ÄѵÀÓÖµÃÔÚOnKeyUpÖÐÔÙ´´½¨Ò»¸öTimerÁË~ _______________________________________________ > 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 -- Guozhu Wen guozhuwen在gmail.com Tel. 086-0551-5591108 Fax. 086-0551-5592751 Department of Automation, University of Science and Technology of China and Institute of Intelligent Machines, Chinese Academy of Sciences P.O. Box 1130, Hefei, Anhui 230031, China Our lab web page: http://www.intelengine.cn My homepage: http://home.ustc.edu.cn/~wentrue/resume.html -------------- 下一部分 -------------- Ò»¸öHTML¸½¼þ±»ÒƳý... URL: http://python.cn/pipermail/python-chinese/attachments/20070912/7c723ccb/attachment.html
Zeuux © 2025
京ICP备05028076号