这是我的代码
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() )