2006年11月16日 星期四 13:31
On 11/16/06, Zuggie <magicccc在gmail.com> wrote: > ¾ÍÊÇ°´ÏÂæIr 'Ok' ]ÓдòÓ¡³öí¡£ > ÎÒ¿´ return 0 ÊDz»ÌÀí¾ÍÓÃËüÁË£¬ÄÇÓà event.Skip() ¿ÉÒÔ£¬Óà pass Ò²Ò»Ó¿ÉÒÔÁË¡£ > ÄÇÎÒÏë¿ÉÄÜÊÇÄãµÄʼþÓë´¦Àí¸ù±¾¾ÍûÓа󶨵½Ò»Æð¡£ÎÒ×¢Òâµ½£º self.Bind(wx.EVT_KEY_DOWN, self.OnKeyDown, txtScan) ×îºóÒ»¸ö²ÎÊýÎҼǵÃÓ¦¸ÃÊÇÒ»¸öid£¬¶ø²»ÊÇÒ»¸ö¶ÔÏó¡£±ÈÈç¸ÄΪ£º self.Bind(wx.EVT_KEY_DOWN, self.OnKeyDown, txtScan.GetId()) »òÕߣº txtScan.Bind(wx.EVT_KEY_DOWN, self.OnKeyDown) -- I like python! UliPad <>: http://wiki.woodpecker.org.cn/moin/UliPad My Blog: http://www.donews.net/limodou
2006年11月16日 星期四 13:33
謝謝 Limodou,果然如此,是沒有幫定到一起,不過我其他的一些控件,比如按鈕的 Click 事件,也是這麽寫的,它可以正常工作,所以我一直以爲我寫的是對的,改成你說的,可以抓到按鍵了。 ----- 原始邮件 ----- 发件人: "limodou" <limodou at gmail.com> 收件人: <python-chinese at lists.python.cn> 日期: 2006年11月16日 下午 01:31 主题: [python-chinese] Re: [python-chinese] 答复: Re: 答复: Re: 請教TextBox的按鍵處理 > On 11/16/06, Zuggie <magicccc at gmail.com> wrote: >> 就是按下鍵時 'Ok' 沒有打印出來。 >> 我看 return 0 是不處理就用它了,那用 event.Skip() 可以,用 pass 也一樣可以了。 >> > 那我想可能是你的事件与处理根本就没有绑定到一起。我注意到: > > self.Bind(wx.EVT_KEY_DOWN, self.OnKeyDown, txtScan) > > 最后一个参数我记得应该是一个id,而不是一个对象。比如改为: > > self.Bind(wx.EVT_KEY_DOWN, self.OnKeyDown, txtScan.GetId()) > > 或者: > > txtScan.Bind(wx.EVT_KEY_DOWN, self.OnKeyDown) > > -- > I like python! > UliPad <>: http://wiki.woodpecker.org.cn/moin/UliPad > My Blog: http://www.donews.net/limodou >
2006年11月17日 星期五 15:00
其中還有一個問題,使用 txtScan = wx.TextCtrl(panel, -1, "", pos = (190, 380), size = (300, 26)) 生成的 Text ,在按回車鍵時,會自動跳到下個控件去,找了好多資料,看了看,改成 txtScan = wx.TextCtrl(panel, -1, "", pos = (190, 380), size = (300, 26), style = wx.TE_PROCESS_ENTER),這樣光標會一直在 Text 中,不會跳到下個控件去了,同時也可以抓到按鍵了。 啊,搞了好久,這個應該會記得比較牢,以後不會忘記了,呵呵。 ----- 原始邮件 ----- 发件人: "limodou" <limodou at gmail.com> 收件人: <python-chinese at lists.python.cn> 日期: 2006年11月16日 下午 01:31 主题: [python-chinese] Re: [python-chinese] 答复: Re: 答复: Re: 請教TextBox的按鍵處理 > On 11/16/06, Zuggie <magicccc at gmail.com> wrote: >> 就是按下鍵時 'Ok' 沒有打印出來。 >> 我看 return 0 是不處理就用它了,那用 event.Skip() 可以,用 pass 也一樣可以了。 >> > 那我想可能是你的事件与处理根本就没有绑定到一起。我注意到: > > self.Bind(wx.EVT_KEY_DOWN, self.OnKeyDown, txtScan) > > 最后一个参数我记得应该是一个id,而不是一个对象。比如改为: > > self.Bind(wx.EVT_KEY_DOWN, self.OnKeyDown, txtScan.GetId()) > > 或者: > > txtScan.Bind(wx.EVT_KEY_DOWN, self.OnKeyDown) > > -- > I like python! > UliPad <>: http://wiki.woodpecker.org.cn/moin/UliPad > My Blog: http://www.donews.net/limodou > > _______________________________________________ > python-chinese > Post: send python-chinese at lists.python.cn > Subscribe: send subscribe to python-chinese-request at lists.python.cn > Unsubscribe: send unsubscribe to python-chinese-request at lists.python.cn > Detail Info: http://python.cn/mailman/listinfo/python-chinese
2006年11月17日 星期五 15:04
On 11/17/06, Zuggie <magicccc在gmail.com> wrote: > ÆäÖÐßÓÐÒ»î}£¬Ê¹Óà > txtScan = wx.TextCtrl(panel, -1, "", pos = (190, 380), size = (300, 26)) Éú³ÉµÄ Text £¬ÔÚ°´»ØÜæIr£¬þ×ÔÓÌøµ½Ï¿ؼþÈ¥£¬ÕÒÁ˺öàÙYÁÏ£¬¿´ÁË¿´£¬¸Ä³É txtScan = wx.TextCtrl(panel, -1, "", pos = (190, 380), size = (300, 26), style = wx.TE_PROCESS_ENTER)£¬ß@Ó¹âËþÒ»Ö±ÔÚ Text ÖУ¬²»þÌøµ½Ï¿ؼþÈ¥ÁË£¬Í¬rÒ²¿ÉÒÔ×¥µ½°´æIÁË¡£ > °¡£¬¸ãÁ˺þã¬ß@ªÔþӵñÈÝ^ÀΣ¬ÒÔáá²»þÍüÓÁË£¬ºÇºÇ¡£ > ÒòΪÄãÓõÄÊǵ¥Ðеġ£¶øÎÒʹÓõÄÊǶàÐеģ¬ËùÒÔ×ÔÈ»¿ÉÒÔ´¦Àí»Ø³µ£¬Ã»ÓÐÄãÕâ¸öÎÊÌâ¡£ :) -- I like python! UliPad <>: http://wiki.woodpecker.org.cn/moin/UliPad My Blog: http://www.donews.net/limodou
2006年11月17日 星期五 15:08
limodou,你說的單行多行的區別就是指一句分成多行,在行尾加上 \ 或者不加麽? 比如這樣: 單行: txtScan = wx.TextCtrl(panel, -1, "", pos = (190, 380), size = (300, 26), style = wx.TE_PROCESS_ENTER) 多行: txtScan = wx.TextCtrl(panel, -1, "", pos = (190, 380), size = (300, 26), \ style = wx.TE_PROCESS_ENTER) ----- 原始邮件 ----- 发件人: "limodou" <limodou at gmail.com> 收件人: <python-chinese at lists.python.cn> 日期: 2006年11月17日 下午 03:04 主题: [python-chinese] Re: [python-chinese] 答复: Re: 答复: Re: 請教TextBox的按鍵處理 > On 11/17/06, Zuggie <magicccc at gmail.com> wrote: >> 其中還有一個問題,使用 >> txtScan = wx.TextCtrl(panel, -1, "", pos = (190, 380), size = (300, 26)) 生成的 Text ,在按回車鍵時,會自動跳到下個控件去,找了好多資料,看了看,改成 txtScan = wx.TextCtrl(panel, -1, "", pos = (190, 380), size = (300, 26), style = wx.TE_PROCESS_ENTER),這樣光標會一直在 Text 中,不會跳到下個控件去了,同時也可以抓到按鍵了。 >> 啊,搞了好久,這個應該會記得比較牢,以後不會忘記了,呵呵。 >> > 因为你用的是单行的。而我使用的是多行的,所以自然可以处理回车,没有你这个问题。 :) > > -- > I like python! > UliPad <>: http://wiki.woodpecker.org.cn/moin/UliPad > My Blog: http://www.donews.net/limodou >
2006年11月17日 星期五 15:11
On 11/17/06, Zuggie <magicccc在gmail.com> wrote: > limodou£¬ÄãÕfµÄÎÐжàÐÐµÄ ^e¾ÍÊÇÖ¸Ò»¾ä·Ö³É¶àÐУ¬ÔÚÐÐβ¼ÓÉÏ \ »òÕß²»¼Ó÷᣿ > ±ÈÈçß@Ó£º > ÎÐУº > txtScan = wx.TextCtrl(panel, -1, "", pos = (190, 380), size = (300, 26), style = wx.TE_PROCESS_ENTER) > ¶àÐУº > txtScan = wx.TextCtrl(panel, -1, "", pos = (190, 380), size = (300, 26), \ > style = wx.TE_PROCESS_ENTER) > ²»ÊÇ£¬ÊÇÔÚ´´½¨TextCtrlʱָ¶¨ÁËwx.TE_MULTILINEÑùʽ¡£ -- I like python! UliPad <>: http://wiki.woodpecker.org.cn/moin/UliPad My Blog: http://www.donews.net/limodou
2006年11月17日 星期五 15:17
哦,明白了,是說在創建 TextCtrl 的時候,系統已經默認了一種 style 是單行的。
2006年11月17日 星期五 15:20
On 11/17/06, Zuggie <magicccc在gmail.com> wrote: > Ŷ£¬Ã÷°×ÁË£¬ÊÇÕfÔÚ½¨ TextCtrl µÄrºò£¬Ïµ½yÒѽĬÕJÁËÒ»·N style ÊÇÎÐеġ£ Êǵġ£TextCtrlÓÐÐí¶àµÄÑùʽ£¬ÔÚwindowsÏ»¹¿ÉÒÔÖ§³Örich2¡£¹¦Äܺܶࡣ -- I like python! UliPad <>: http://wiki.woodpecker.org.cn/moin/UliPad My Blog: http://www.donews.net/limodou
Zeuux © 2025
京ICP备05028076号