如何在textctrl中生成关键事件wxpython



这是我的代码

python 2.7&wxpython 2.8

http://pastie.org/4248326

这3个textctrl,在chat_c(textctrl)

我想让聊天室和文本像聊天室

输入为chat_c输出为text_c

这就是我使用的原因

def OnReturnDown(self,e):
    key = e.GetKeyCode()
    self.text_c.SetValue(key) #for check out but doesn't work
    if key == wx.WXK_RETURN:
        self.text_c.SetValue(self.chat_c.GetValue()) 
 #key bind
    self.chat_c.Bind(wx.EVT_KEY_DOWN, self.OnReturnDown)

这是错误信息

Traceback (most recent call last):
  File "C:workspacewx_python_testmain_chat_client.py", line 239, in OnReturnDown
    self.text_c.SetValue(key) #for check out but doesn't work
  File "C:Python27Libsite-packageswx-2.8-msw-unicodewx_controls.py", line 1754, in SetValue
    return _controls_.TextCtrl_SetValue(*args, **kwargs)
TypeError: String or Unicode type required

那是什么?需要Unicode类型???

也许可以更改textctrl的样式?

如何解决这个问题?

e.GetKeyCode()返回一个int。您不会将int传递给文本控件。文本控件只接受字符串或unicode字符串。因此,您需要将int强制转换为字符串或执行其他操作。以下是如何铸造:

key = str( e.GetKeyCode() )

相关内容

  • 没有找到相关文章

最新更新