Python | Widget de barra de progreso en kivy – Part 1

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.

👉🏽 Tutorial de Kivy: aprenda Kivy con ejemplos .

Widget de la barra de progreso:

El widget ProgressBar se utiliza para visualizar el progreso de alguna tarea. Actualmente solo se admite el modo horizontal: el modo vertical aún no está disponible.
La barra de progreso no tiene elementos interactivos y es un widget de solo visualización.

Para usarlo, simplemente asigne un valor para indicar el progreso actual:

Python3

from kivy.uix.progressbar import ProgressBar
pb = ProgressBar(max = 1000)
  
# this will update the graphics automatically (75 % done)
pb.value = 750

Para trabajar con el widget de la barra de progreso, debe importarlo con el comando:

de kivy.uix.progressbar importar ProgressBar

La barra de progreso toma dos argumentos:

1) max: Valor máximo permitido por valor. Es una propiedad numérica y el valor predeterminado es 100.
2) valor: valor actual para el control deslizante

Basic Approach:

1) import kivy
2) import kivyApp
3) import progressbar
4) import Boxlayout(according to need)
5) Set minimum version(optional)
6) Create Layout class:
7) Create App class
8) return Layout/widget/Class(according to requirement)
9) Run an instance of the class

Nota: este código es para una barra de progreso de trabajo completa y debe concentrarse solo en la creación y el funcionamiento de la barra de progreso, no es necesario enfatizar otras propiedades que cubriré en el futuro.
Primero debe hacer clic en el botón que se hace en el archivo y luego se mostrará la barra de progreso.

Implementación del Enfoque:

Python3

# Program to Show how to create a Progressbar in .kv file
  
# import kivy module    
import kivy  
       
# base Class of your App inherits from the App class.    
# app:always refers to the instance of your application   
from kivy.app import App 
     
# this restrict the kivy version i.e  
# below this kivy version you cannot  
# use the app or software  
kivy.require('1.9.0') 
    
# The ProgressBar widget is used to
# visualize the progress of some task
from kivy.uix.progressbar import ProgressBar 
  
# BoxLayout arranges children in a vertical or horizontal box. 
# or help to put the children at the desired location. 
from kivy.uix.boxlayout import BoxLayout
  
# The Clock object allows you to schedule a
# function call in the future
from kivy.clock import Clock
   
# The Button is a Label with associated actions 
# that is triggered when the button 
# is pressed (or released after a click / touch).  
from kivy.uix.button import Button
  
# Popup widget is used to create popups. 
# By default, the popup will cover 
# the whole “parent” window. 
# When you are creating a popup, 
# you must at least set a Popup.title and Popup.content.
from kivy.uix.popup import Popup
  
# A Widget is the base building block
# of GUI interfaces in Kivy.
# It provides a Canvas that
# can be used to draw on screen.
from kivy.uix.widget import Widget
  
# ObjectProperty is a specialised sub-class
# of the Property class, so it has the same
# initialisation parameters as it:
# By default, a Property always takes a default
# value[.] The default value must be a value
# that agrees with the Property type.
from kivy.properties import ObjectProperty
  
  
  
# Create the widget class
class MyWidget(Widget):
  
    progress_bar = ObjectProperty()
      
    def __init__(self, **kwa):
        super(MyWidget, self).__init__(**kwa)
          
        self.progress_bar = ProgressBar()
        self.popup = Popup(
            title ='Download',
            content = self.progress_bar
        )
        self.popup.bind(on_open = self.puopen)
        self.add_widget(Button(text ='Download', on_release = self.pop))
  
    # the function which works when you click = k the button 
    def pop(self, instance):
        self.progress_bar.value = 1
        self.popup.open()
  
    # To continuously increasing the value of pb.
    def next(self, dt):
        if self.progress_bar.value>= 100:
            return False
        self.progress_bar.value += 1
      
    def puopen(self, instance):
        Clock.schedule_interval(self.next, 1 / 25)
  
# Create the App class 
class MyApp(App):
    def build(self):
        return MyWidget()
  
# run the App
if __name__ in ("__main__"):
    MyApp().run()
  

Producción:

Imagen 1:

Imagen 2:

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 *