wxPython:将wx.TE_PROCESS_ENTER放在蒙版TextCtrl上

问题描述 投票:1回答:2

在Google上搜索时,我发现无法在蒙版的TextCtrl上使用wx.TE_PROCESS_ENTER,我自己尝试设置style=wx.TE_PROCESS_ENTER,然后将其与wx.EVT_TEXT_ENTER绑定,但没有任何反应。我正在尝试做的是制作许多带掩码的TextCtrl,以便用户可以输入一些值,然后在按Enter按钮时按下一个称为对其进行计算的函数。

提前感谢

wxpython textctrl
2个回答
1
投票
import wx import wx.lib.masked as masked ######################################################################## class MyPanel(wx.Panel): """""" #---------------------------------------------------------------------- def __init__(self, parent): """Constructor""" wx.Panel.__init__(self, parent=parent) control = ["Phone No", "(###) ###-#### x:###", "", 'F^-', "^\(\d{3}\) \d{3}-\d{4}", '','',''] maskText = masked.TextCtrl(self, mask = control[1], excludeChars = control[2], formatcodes = control[3], includeChars = "", validRegex = control[4], validRange = control[5], choices = control[6], choiceRequired = True, defaultValue = control[7], demo = True, name = control[0], style=wx.TE_PROCESS_ENTER) maskText.Bind(wx.EVT_KEY_DOWN, self.onEnter) #---------------------------------------------------------------------- def onEnter(self, event): """""" keycode = event.GetKeyCode() if keycode == wx.WXK_RETURN or keycode == wx.WXK_NUMPAD_ENTER: print "you pressed ENTER!" event.Skip() ######################################################################## class MyFrame(wx.Frame): """""" #---------------------------------------------------------------------- def __init__(self): """Constructor""" wx.Frame.__init__(self, None, title="Masked!") panel = MyPanel(self) self.Show() if __name__ == "__main__": app = wx.App(False) frame = MyFrame() app.MainLoop()

0
投票
© www.soinside.com 2019 - 2024. All rights reserved.