Usar imagen como botón en kivy

Kivy es una herramienta GUI independiente de la plataforma en Python. Como se puede ejecutar en Android, IOS, Linux y Windows, etc. Básicamente se usa para desarrollar la aplicación de Android, pero eso no significa que no se pueda usar en aplicaciones de escritorio. Como hemos discutido anteriormente sobre cómo trabajar con imágenes , ahora aprenderemos cómo usar las imágenes y crear un botón con ellas. En este artículo, aprenderemos cómo podemos usar la imagen como botón y cómo agregar funcionalidad y estilo a esa imagen.

Para conocerlo, debe conocer algunas propiedades, que son: background_down: 1) Imagen de fondo del botón utilizado para la representación gráfica predeterminada cuando se presiona el botón. 2) background_down es una StringProperty. background_normal: 1) Imagen de fondo del botón utilizado para la representación gráfica predeterminada cuando el botón no está presionado. 2) background_normal también es una StringProperty. background_disabled_normal: 1) Imagen de fondo del botón utilizado para la representación gráfica predeterminada cuando el botón está deshabilitado y no presionado. 2) background_disabled_normal también es una StringProperty. Notas:1) Ahora solo es suficiente para comprender que la propiedad de string significa que solo toman valores en string que significan como background_down: «normal.png» como este. 2) Al hacer clic en la imagen, se ve igual que un botón simple (como lo usamos en un botón).

Las imágenes utilizadas en este artículo son: normal.png: down.png:

Basic Approach  :

-> import kivy
-> import kivy App
-> import button
-> set minimum version(optional)
-> Extend the class :  
              -> create an image a  button
              -> Do styling
              -> Arrange call back if needed 
-> Add and return a button
-> Run an instance of the class

Tutorial de Kivy: aprenda Kivy con ejemplos.

Implementación simple de cómo crear un botón usando una imagen. 

Python3

## Sample Python application demonstrating that  
## how to create button using image in kivy
      
##################################################     
# import kivy module
import kivy
    
# this restrict the kivy version i.e
# below this kivy version you cannot
# use the app or software
kivy.require("1.9.1")
    
# base Class of your App inherits from the App class.
# app:always refers to the instance of your application
from kivy.app import App
    
# creates the button in kivy
# if not imported shows the error
from kivy.uix.button import Button
  
# this restrict the kivy version i.e  
# below this kivy version you cannot  
# use the app or software  
kivy.require('1.9.0') 
     
# to change the kivy default settings we use this module config
from kivy.config import Config
     
# 0 being off 1 being on as in true / false
# you can use 0 or 1 && True or False
Config.set('graphics', 'resizable', True)
  
    
# class in which we are creating the image button
class ButtonApp(App):
        
    def build(self):
  
        # create an image a button
        # Adding images normal.png image as button
        # decided its position and size
        btn = Button(text ="Push Me !",
                     color =(1, 0, .65, 1),
                     background_normal = 'normal.png',
                     background_down ='down.png',
                     size_hint = (.3, .3),
                     pos_hint = {"x":0.35, "y":0.3}
                   )
     
        return btn
            
    
# creating the object root for ButtonApp() class 
root = ButtonApp()
    
# run function runs the whole program
# i.e run() method which calls the target
# function passed to the constructor.
root.run()

Salida: código para implementar el estilo y organizar una devolución de llamada al botón: 

Python3

## Sample Python application demonstrating that  
## how to create button using image in kivy
     
##################################################     
# import kivy module
import kivy
   
# this restrict the kivy version i.e
# below this kivy version you cannot
# use the app or software
kivy.require("1.9.1")
   
# base Class of your App inherits from the App class.
# app:always refers to the instance of your application
from kivy.app import App
   
# creates the button in kivy
# if not imported shows the error
from kivy.uix.button import Button
 
# this restrict the kivy version i.e  
# below this kivy version you cannot  
# use the app or software  
kivy.require('1.9.0') 
    
# to change the kivy default settings we use this module config
from kivy.config import Config
    
# 0 being off 1 being on as in true / false
# you can use 0 or 1 && True or False
Config.set('graphics', 'resizable', True)
 
   
# class in which we are creating the imagebutton
class ButtonApp(App):
       
    def build(self):
 
        # create a fully styled functional button
        # Adding images normal.png and down.png
        btn = Button(text ="Push Me !",
                     background_normal = 'normal.png',
                     background_down = 'down.png',
                     size_hint = (.3, .3),
                     pos_hint = {"x":0.35, "y":0.3}
                   )
   
        # bind() use to bind the button to function callback
        btn.bind(on_press = self.callback)
        return btn
   
    # callback function tells when button pressed
    def callback(self, event):
        print("button pressed")
        print('Yoooo !!!!!!!!!!!')
           
   
# creating the object root for ButtonApp() class 
root = ButtonApp()
   
# run function runs the whole program
# i.e run() method which calls the target
# function passed to the constructor.
root.run()

Producción:

Publicación traducida automáticamente

Artículo escrito por YashKhandelwal8 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *