Author Archives: Lauro Cesar de Oliveira

Python: Adicionar argumentos ao método Bind (wxPython)

O método Bind() no wxPython permite associar métodos a eventos. Por exemplo: Bind(wx.EVT_BUTTON, sys.exit(), id=ID_BUTTON) Ao clicar, o método exit() é disparado. Para permitir que o método disparado receba argumentos, podemos utilizar: botao =  wx.Button(self, -1, “Instalar”) Bind(wx.EVT_BUTTON, lambda event: Metodo(event, … Continue reading

Posted in Python | 2 Comments

Python: Introspeção de atributos e métodos com vars(), locals() e dir()

Para descobrir os atributos de um objeto podemos utilizar: objeto.__dict__ vars(objeto) Para descobrir os atributos de uma classe: vars(Classe()) Se utilizar vars() sem argumentos, funciona como locals(), listando todas as variáveis. Para listar métodos e atributos de um objeto: dir(objeto)

Posted in Python | Tagged , , , | Leave a comment

Tcl/Tk: Configurar o encoding de scripts

Para determinar qual encoding seu script deve rodar, use na primeira linha: encoding system [tabela] Exemplo: encoding system utf-8 Para listar as tabelas disponíveis: encoding names Exemplo de listagem: foreach i [encoding names] { puts “A tabela $i está disponível … Continue reading

Posted in Tcl-Tk | Tagged , , , , | Leave a comment

Tcl/Tk: Obter chaves e valores de um array set

Com o comando: array set minha_var { chave {valor} chave2 {valor2} } Criamos uma array com diversas chaves e valores. Exemplo: array set produtos { } set produtos(nome) { Banana Caturra } puts $produtos(nome) # Retorna: Banana Caturra Para listar … Continue reading

Posted in Tcl-Tk | Tagged , , , , , , | 1 Comment

Tcl/Tk: Substituir strings

Para manipular Strings em Tcl, utilizamos o comando string. Se precisar substituir ponto por vírgula: set valor { 10.00 } puts [string map -nocase { . , } $valor] # Retorna: 10,00 Podemos substituir várias cadeias de caracteres: set texto … Continue reading

Posted in Tcl-Tk | Tagged , , , | Leave a comment

Tcl/Tk: Carregando scripts em lote (bibliotecas)

E possível destinar um diretório para nossos códigos auxiliares ou plugins, e na inicialização do sistema importá-los, utilizando o comando source. Por exemplo, considerando que há vários arquivos .tcl no diretório plugin/ foreach p “[glob plugin/*.tcl]” { source $p }

Posted in Tcl-Tk | Tagged , , , , , , | Leave a comment

Tcl/Tk: Capturando e tratando erros

Palavras-chave: Tcl/Tk, capturar, erros Quando um procedimento é executando em Tcl, ele retorna 1 (sucesso) ou 0 (falha). É este resultado que faz o interpretador mostrar ou não um erro. Para não mostrar o erro ao usuário, mas detectá-lo e … Continue reading

Posted in Tcl-Tk | Tagged , , , | 1 Comment

Tcl/Tk: Reduzindo linhas

Palavras-chave: Tcl/Tk, pack, grid, place A sintaxe padrão para a criação de widgets é: widget toplevel.my_id opções_do_widget pack toplevel.my_id opções_do_pack Mas também é possível reunir tudo em uma só linha: pack [widget toplevel.my_id opções_do_widget] opções_do_pack Por exemplo: label .my_label -text “Oi Mundo!” -bg … Continue reading

Posted in Tcl-Tk | Leave a comment