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.

?? Tutorial Kivy - Aprenda Kivy com exemplos .

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): 
            print('Switch is ON:):):)') 
        else: 
            print('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: