Variáveis Computadas
Os widgets podem exibir ou verificar uma informação dinâmica através de uma expressão em Python, porém uma única linha de Python pode não ser suficiente para processar essa informação em alguns casos. O script scripts/computed.py
possui definições de funções que retornam informações dinâmicas, e podem ser usadas nos widgets em qualquer propriedade que utilize uma expressão de Python através do valor com prefixo $
.
Exemplo
Por exemplo, caso queiramos mostrar num widget GuiLabel a data de hoje
corretamente formatada, podemos utilizar uma propriedade computada. Desta forma, no script
scripts/computed.py
definimos uma função que nos retornará a string formatada com a data de hoje:
def dataDeHojeFormatada():
from datetime import datetime
return datetime.today().strftime('%d/%m/%Y')
E por fim, adicione o nome da função com o prefixo $
na propriedade Label
da instância da GuiLabel
.
Isso resultará no valor de retorno da função sendo mostrado no texto da GuiLabel
.
As propriedades computadas não estão limitadas a apenas textos: qualquer expressão de Python que possa ser
inserida em um widget (como a propriedade Enabled
) pode ser uma propriedade computada.
Parâmetro
Opcionalmente, as variáveis computadas podem receber um parâmetro que pode ser passado
para sua função fonte. Para isso, utilize o caractere :
para definir o argumento que
deverá ser passado para a função. Por exemplo: $nomeDaFuncao:Parametro
.
No exemplo mostrado anteriormente, poderíamos atualizar nossa função da seguinte forma:
def dataDeHojeFormatada(formato=""):
from datetime import datetime
date = datetime.today()
if formato == "Extenso":
return date.strftime('%A, %d de %B de %Y')
else:
return date.strftime('%d/%m/%Y')
Adicionando uma nova label, podemos adicionar a mesma propriedade computada, porém
passando um parâmetro adicional após o caractere :
:
Teremos então duas labels com a mesma propriedade computada, mas que se comportam de formas diferentes devido ao parâmetro passado ou a ausência deste.