Python | Alternar widget no Kivy usando arquivo .kv
Kivy é uma ferramenta GUI independente de plataforma em Python. Como pode ser executado em Android, IOS, Linux e Windows etc. É basicamente utilizado para desenvolver a aplicação Android, mas não quer dizer que não possa ser utilizado em aplicações Desktops.
Mudar widget:
O widget Switch está ativo ou inativo, como um interruptor mecânico de luz. O usuário pode deslizar para a esquerda / direita para ativar / desativar.
O valor representado pela opção é True ou False. Ou seja, a chave pode estar na posição On ou Off.
Para trabalhar com o Switch, você deve importar:
from kivy.uix.switch import Switch
Anexando retorno de chamada ao switch:
- Um switch pode ser conectado com um retorno de chamada para recuperar o valor do switch.
- A transição de estado de uma chave é de LIGADO para DESLIGADO ou DESLIGADO para LIGADO.
- Quando o switch faz qualquer transição, o retorno de chamada é acionado e um novo estado pode ser recuperado, ou seja, veio e qualquer outra ação pode ser executada com base no estado.
- Por padrão, a representação do widget é estática. O tamanho mínimo necessário é 83 * 32 pixels.
- Todo o widget está ativo, não apenas a parte com gráficos. Contanto que você deslize sobre a caixa delimitadora do widget, ele funcionará.
Abordagem Básica: 1) importar kivy 2) importar kivyApp 3) chave de importação 4) importar Gridlayout 5) etiqueta de importação 6) Defina a versão mínima (opcional) 7) crie a classe Layout (neste você cria um switch): -> definir o retorno de chamada do switch neste 8) criar classe de aplicativo 9) crie o arquivo .kv (nome igual ao da classe do aplicativo): 1) criar boxLayout 2) Dê Lable 3) Criar switch 4) Ligue um retorno de chamada, se necessário 10) retornar Layout / widget / Classe (de acordo com o requisito) 11) Execute uma instância da classe
Abaixo está a implementação:
Explicamos como criar botão, anexar um retorno de chamada a ele e como desabilitar um botão depois de torná-lo ativo / inativo.
arquivo main.py:
import
kivy
from
kivy.app
import
App
kivy.require(
'1.9.0'
)
from
kivy.uix.switch
import
Switch
from
kivy.uix.gridlayout
import
GridLayout
from
kivy.uix.label
import
Label
class
SimpleSwitch(GridLayout):
rows
=
4
def
switch_callback(
self
, switchObject, switchValue):
if
(switchValue):
(
'Switch is ON:):):)'
)
else
:
(
'Switch is OFF:(:(:('
)
class
SwitchApp(App):
def
build(
self
):
return
SimpleSwitch()
if
__name__
=
=
'__main__'
:
SwitchApp().run()
Resultado:
Imagem 1:
Imagem 2:
Imagem para mostrar chamadas de retorno:
As postagens do blog Acervo Lima te ajudaram? Nos ajude a manter o blog no ar!
Faça uma doação para manter o blog funcionando.
70% das doações são no valor de R$ 5,00...
Diógenes Lima da Silva