Renato Python Postado Janeiro 18, 2008 Denunciar Share Postado Janeiro 18, 2008 E ai pessoal to tentando fazer um Edit que só aceite números, mas não estou consegindo!Alguém sabe como fazer esta funcionalidade? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Janeiro 21, 2008 Denunciar Share Postado Janeiro 21, 2008 Eu já fiz isso limitando os caracteres que podem ser digitados, através do evento EVT_CHAR. O código é algo assim:def OnChar(self, evento): validos = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", chr(8)] try: c = chr(evento.GetKeyCode()) except Exception, e: c = chr(0) if c in validos: evento.Skip() E basta anexá-lo ao evento wx.EVT_CHAR através do método Bind do controle: Text1.Bind(wx.EVT_CHAR, self.OnChar)Certo? ;)Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest --Renato -- Postado Janeiro 28, 2008 Denunciar Share Postado Janeiro 28, 2008 Bah cara valeu! Funcionou aqui! e usando o teu código fiz uma classe que eu passo a mascara e ele se acha! vou cola o código abaixo.def OnKeyChar(self, event): keyCode = event.GetKeyCode() iMask = len(self.getValue()) char = self.getValue() if keyCode == wx.WXK_DELETE or keyCode == wx.WXK_HOME or keyCode == wx.WXK_INSERT or keyCode == wx.WXK_LEFT or keyCode == wx.WXK_RIGHT or keyCode == 8: event.Skip() return False if iMask >= len(self.mask): return False # Testa se a mascara deve conter uma letra if self.mask[iMask] == '9' or self.mask[iMask] == '#': if self.mask[iMask] == '#': # testa se o caracter digitado é uma letra if (keyCode >= 65 and keyCode <= 90) or (keyCode >= 97 and keyCode <= 122): keyChar = chr(keyCode) event.Skip() # Testa se a mascara deve conter um numero if self.mask[iMask] == '9': # Teste se o caracter digitado é um numero if (keyCode >= 48 and keyCode <= 57): keyChar = chr(keyCode) event.Skip() else: if char != '': self.AppendText(self.mask[iMask] + chr(keyCode)) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Janeiro 28, 2008 Denunciar Share Postado Janeiro 28, 2008 Legal, esse seu código vai servir de referência no futuro.Só peço que utilize a tag CODE do fórum na hora de postar códigos, do contrário não aparece a indentação (essencial em Python).Abraços,Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Renato Python
E ai pessoal to tentando fazer um Edit que só aceite números, mas não estou consegindo!
Alguém sabe como fazer esta funcionalidade?
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.