IntCtrl、Masked Edit Control、 和NumCtrl都旨在通过不同级别的控制来做到这一点。查看“更多 Windows/控件”下的 wx 演示,了解它们是如何工作的。
(或者,如果您真的希望直接使用原始 TextCtrl 执行此操作,我认为您希望捕获 EVT_CHAR 事件,测试字符,如果允许字符,则调用 evt.Skip()。)
小智 5
我必须做类似的事情,检查字母数字代码.EVT_CHAR的提示是正确的:
class TestPanel(wx.Panel):
def __init__(self, parent):
wx.Panel.__init__(self, parent, -1)
self.entry = wx.TextCtrl(self, -1)
self.entry.Bind(wx.EVT_CHAR, self.handle_keypress)
def handle_keypress(self, event):
keycode = event.GetKeyCode()
if keycode < 255:
# valid ASCII
if chr(keycode).isalnum():
# Valid alphanumeric character
event.Skip()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9000 次 |
| 最近记录: |