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.
Objeto Reloj:
El objeto Reloj le permite programar una llamada de función en el futuro; una o varias veces a intervalos especificados.
Puede obtener el tiempo transcurrido entre la programación y la llamada de devolución de llamada a través del argumento dt:
Python3
# define callback def my_callback(dt): pass # clock.schedule_interval with time specified Clock.schedule_interval(my_callback, 0.5) # clock.schedule_once with time specified Clock.schedule_once(my_callback, 5) # call my_callback as soon as possible. Clock.schedule_once(my_callback)
Nota: Si la devolución de llamada devuelve Falso, la programación se cancelará y no se repetirá.
En esto, vamos a crear el kivy, el cronómetro y estamos creando 3 botones en esto, que son el inicio, la pausa y la reanudación.
Es bueno usar el módulo incorporado de kivy mientras se trabaja con el reloj y:
desde kivy.clock import Clock
Basic Approach: 1) import kivy 2) import kivyApp 3) import Builder 4) import Boxlayout 5) Import clock 6) import kivy properties(only needed one) 7) Set minimum version(optional) 8) Create the .kv code: 1) Create Buttons 2) Add call to button 3) Add label 9) Create Layout class 10) Create App class 11) return Layout/widget/Class(according to requirement) 12) Run an instance of the class
# Implementación del Enfoque:
Python3
''' Code of How to create Stopwatch ''' # Program to Show how to create a switch # 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 Builder is responsible for creating # a Parser for parsing a kv file from kivy.lang import Builder # The Properties classes are used # when you create an EventDispatcher. from kivy.properties import NumericProperty # 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 # he Clock object allows you to # schedule a function call in the future from kivy.clock import Clock # Create the .kv file and load it by using Builder Builder.load_string(''' <MainWidget>: # Assigning the alignment to buttons BoxLayout: orientation: 'vertical' # Create Button Button: text: 'start' on_press: root.start() Button: text: 'stop' on_press: root.stop() Button: text: 'Reset' on_press: root.number = 0 # Create the Label Label: text: str(round(root.number)) text_size: self.size halign: 'center' valign: 'middle' ''') # Create the Layout class class MainWidget(BoxLayout): number = NumericProperty() def __init__(self, **kwargs): # The super() builtin # returns a proxy object that # allows you to refer parent class by 'super'. super(MainWidget, self).__init__(**kwargs) # Create the clock and increment the time by .1 ie 1 second. Clock.schedule_interval(self.increment_time, .1) self.increment_time(0) # To increase the time / count def increment_time(self, interval): self.number += .1 # To start the count def start(self): Clock.unschedule(self.increment_time) Clock.schedule_interval(self.increment_time, .1) # To stop the count / time def stop(self): Clock.unschedule(self.increment_time) # Create the App class class TimeApp(App): def build(self): return MainWidget() # Run the App TimeApp().run()
Producción:
Nota:
En esto, cuando presiona iniciar, comienza a contar, cuando presiona Reiniciar, comienza de nuevo y cuando hace una pausa, se detiene.
Publicación traducida automáticamente
Artículo escrito por YashKhandelwal8 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA