Minha pergunta é: é possível rastrear variável de determinado objeto? Por exemplo, tenho 5 objetos da mesma classe e preciso verificar se determinada variável em cada objeto foi alterada e chamar um procedimento específico que é atualizado no widget Tk que corresponde a esse objeto específico. Fiquei um pouco preso porque sei que podemos adicionar rastreamento à variável global, mas não tenho certeza de como rastrear a variável dentro de um objeto específico, especialmente se ela não puder existir até que a escrita ocorra. Desde já agradeço, Jorge.
O
varname
método padrão (normalmente não exportado, portanto normalmente só pode ser usado viamy
) deve fornecer algo que você possa usartrace
ou um widget Tk.Observe que neste caso específico, você não precisa
varname
porquetrace
resolve o nome da variável usando regras locais. Mas você faria isso se estivesse usandovwait
um widget Tk.Um caso relacionado comum é quando você deseja que o rastreamento chame um método (não exportado) do objeto. Nesse caso, você faz o retorno de chamada do trace com algo assim:
O Tcl 8.7/9.0 tem um
callback
comando para facilitar isso.