--
--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
<*> Para sair deste grupo, envie um e-mail para:
python-brasi...@googlegroups.com
---
Você recebeu essa mensagem porque está inscrito no grupo quot;Python Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para python-brasi...@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.
-- Ademir Francisco da Silva Skype ...: Ademir_Francisco_da_Silva
Lário dos Santos Diniz
Administrador PDMS, Programador, Desenhista projetista.
+21 820717-49
Consultorias e Inovações
www.softwarecurriculo.com.br/LarioDiniz
| Gosta de Metal? Conheça a Minha banda: www.aconegro.com | ||||
|
| ||||
--
Cauby, apesar de trabalhar somente com web, eu sou um grande otimista em relação a tkinter, há mais de um ano eu crei este código que faz exatamente o que você está buscando.
https://gist.github.com/MaxMorais/5388218
Você apenas precisa copiá-lo em algum lugar, e importar dentro do seu código, ele foi desenvolvido para ser compátivel com os Widgets do tkinter, todos os métodos do Entry do tkinter estão disponíveis nestas classes.
Um exemplo simples de como utilizar seria:
import Tkinter
from maskedentry import MaskedWidget
root = Tkinter.tk()
masked = MaskedWidget(root, mask="999.999.99-99")
masked.grid(0,0)
root.mainloop()
Veja a unica diferença entre este exemplo e o que você citou do Visual Fox Pro, é que no lugar de usar “#” para informar um caractere numérico é utilizado “9” ou “a” para letras
Desculpe Cauby!
O que acontece é que passei o exemplo errado, existe um argumento antes da máscara:
O argumento é widget_type que aceita como valor duas opções:fixed para campos aonde você vai informar uma máscara personalizada
numeric para campos que devem se comportar como números, são eles campos numéricos como inteiros, decimais e moedas.
Eu estava fazendo algumas atualizações ontem para melhorar pequenos trechos.
O campo não suporta ainda porcentagem, mas em breve deve suportar, se você simplesmente baixar o arquivo, e executá-lo com python maskedentry.py você verá um exemplo que está inserido no próprio código.
import Tkinter
from maskedentry import MaskedWidget
root = Tkinter.Tk()
frame = Tk.Frame(root)
frame.pack()
my_widget = MaskedWidget(frame, 'fixed', mask='999.999.999-99')
my_widget.pack()
root.mainloop()
Cauby, desculpa a demora, eu fiz os ajustes para que o Widget aceite a inserção de caracteres usando o método insert
https://gist.github.com/MaxMorais/5388218
Os exemplos de sintaxe começam aqui https://gist.github.com/MaxMorais/5388218#file-maskedentry-py-L434