Boa tarde amigos,
Estou migrando de linguagem e aprendendo Python.
Estou criando um sisteminha para aprendizado e estou com dificuldades na modularização do mesmo, peço ajuda por favor.
A ideia inicial seria..
Criar login.py e login.kv (já estão criadas)
Essa tela irá acionar a tela principal do sistema que seria principal.py e principal.kv. (Estou usando App, Screen e ScreenManager para fazer o controle e transição das telas).
Fiz o import da principal.py na tela login.py e fiz o load da principal.kv na login.py também. Desta forma estou conseguindo fazer a transição para a tela principal.
Agora vem o X da questão. Quero criar as demais telas que o sistema terá e quem terá acesso a estas telas para chamá-las seria o principal.py.
Pensando assim na tela principal.py basta eu fazer o import e load dos arquivos py e kv da tela tela1 (por exemplo) que irei importar, mas o que não estou entendendo é, se na tela1 eu tenho um botão com o evento btn1Click, este evento deveria estar declarado na tela1 e o arquivo tela1.kv chamar este evento diretamente. Não estou conseguindo fazer sem ter de criar um evento na principal.py e dentro chamar o btn1.click da tela1.py.
Ficaria algo assim...
import tela1
...load(tela1.kv)
class Principal(self):
def botao1Click:
tela1.btn1Click();
tela1.kv
<Tela1>
BoxLayout:
...
Button:
text: 'Botão 1'
on_release: root.botao1Click()
Existe outra forma de resolver isso?
Pergunto isso, pois estou vindo da linguagem Delphi e nele a gente consegue deixar tudo modularizado e o código totalmente separado. Devo estar fazendo confusão aqui no Python.
Se puderem me ajudar por favor.
Obrigado