Tô fazendo um programa em python usando CTkinter pra aprender GUI, preciso pegar o valor de uma CheckBox da minha view e enviar pro meu arquivo model das funções. Onde caso o valor da checkBox seja 1 a função deve retornar ao view o último dado digitado dos Entry’s de login e senha. E caso seja 0 os campos precisam voltar ao normal.
Eu dei uma pesquisada e vi que uma lambda poderia resolver, porém eu não tô sabendo implementar isso no meu projeto e não achei nenhum exemplo pra me guiar.
Atualmente tentei isso:
Mas não funciona.
Acredito que o que você quer é algo como:
class Funcoes:
def mostraVar(self, var):
print(var.get())
var.set(...)
...
funcoes = Funcoes()
...
var = intVar()
checkbox = CTkCheckBox(
...,
variable=var,
command=lambda: funcoes.mostraVar(var)
)
...
Outro ponto, a convenção em Python costuma ser variáveis e métodos com nome em snake case.
Ainda tá meio complicado entender como chamar um metodo de função no python.
Eu to tendando criar um arquivo separado só pra deixar os as funções relativas a cada página da view pra deixar os arquivos mais organizados, porém na hora transferir valores entre os metodos e as views sempre surge algo inesperado.
E não tem muitos tutoriais que ensinem de forma fácil como funciona essa parte de conexão entre metodos de diferentes classes.
Você está fazendo um pouco de confusão provavelmente. Não existe “método de função”, um método, é uma função normal, e lambda é uma função lambda, e ambos são objetos do tipo (instâncias da classe…) Callable.
Acho que falta um pouco de estudo dos fundamentos, orientação a objeto e afins, e como estes conceitos são aplicados especificamente em Python.
Honestamente, na minha opinião o que menos falta são cursos, o problema talvez seja que você decidiu pular o básico. Eu não recomendo fazer isso, a base é muito importante para conceitos mais complexos dentro da linguagem.
Além disso, objetos em si tem métodos e atributos, todos são objetos, o método, o objeto, o método do objeto, etc. Em Python tudo é um objeto. Objetos são “cidadãos de primeira classe” na linguagem.
Isso é um dos motivos pelo qual a abstração pode ficar bastante complexa na linguagem, e um dos motivos pelo qual não te recomendo deixar de estudar muito bem o beabá da linguagem.