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.
Widget giratorio:
Para trabajar con spinner debes tener que importar:
from kivy.uix.spinner import Spinner
Spinner es un widget que proporciona una forma r谩pida de seleccionar un valor de un conjunto. En el estado predeterminado, una rueda muestra su valor actualmente seleccionado. Al tocar la rueda giratoria, se muestra un men煤 desplegable con todos los dem谩s valores disponibles entre los que el usuario puede seleccionar uno nuevo.
Al igual que un cuadro combinado, un objeto giratorio puede tener varios valores y se puede seleccionar uno de los valores.
Se puede adjuntar una devoluci贸n de llamada al objeto giratorio para recibir notificaciones sobre la selecci贸n de un valor del objeto giratorio.
Basic Approach: 1) import kivy 2) import kivyApp 3) import spinner 4) import Floatlayout(according to need) 5) import window(optional) 6) Set minimum version(optional) 7) Create Layout class: define the clicked function in it 8) Create App class 9) create .kv file (name same as the app class): 1) create Spinner 2) create callback 3) And many more styling as needed 10) return Layout/widget/Class(according to requirement) 11) Run an instance of the class
A continuaci贸n se muestra la implementaci贸n:
En el siguiente c贸digo, hemos creado el control giratorio y hemos hecho el tama帽o y el posicionamiento, y tambi茅n hemos adjuntado la devoluci贸n de llamada a los valores.
Archivo .py:
Python3
# Sample spinner app in kivy using .kv file 聽聽 # 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) 聽聽 # 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') 聽聽 # Spinner is a widget that provides a # quick way to select one value from a set. # like a dropdown list from kivy.uix.spinner import Spinner 聽聽 # module consists the floatlayout聽 # to work with FloatLayout first聽 # you have to import it聽 from kivy.uix.floatlayout import FloatLayout 聽聽 # Here for providing colour to the background from kivy.core.window import Window 聽聽 聽聽 # create LayoutClass class SampBoxLayout(FloatLayout): 聽聽聽聽# For Spinner defining spinner clicked function 聽聽聽聽def spinner_clicked(self, value): 聽聽聽聽聽聽聽聽print("Language selected is " + value) 聽聽聽 聽聽 # # Make an App by deriving from the App class class SampleApp(App): 聽聽聽聽def build(self): 聽聽聽 聽聽聽聽聽聽聽聽# Set the background color for the window 聽聽聽聽聽聽聽聽Window.clearcolor = (0.555, 0.261, .888, 0.5) 聽聽聽聽聽聽聽聽return SampBoxLayout() 聽聽 # create object for the Appclass root = SampleApp() # run the class root.run() 聽聽
聽
archivo .kv
del c贸digo:
Python3
# .kv file implementation of the .py file 聽聽 # Creating the Layout i.e root of the Layout class <SampBoxLayout>: 聽聽 聽聽聽聽# creating the spinner 聽聽聽聽Spinner: 聽聽聽聽聽聽聽聽# Assigning id聽 聽聽聽聽聽聽聽聽id: spinner_id 聽聽 聽聽聽聽聽聽聽聽# Callback聽 聽聽聽聽聽聽聽聽on_text: root.spinner_clicked(spinner_id.text) 聽聽 聽聽聽聽聽聽聽聽# initially text on spinner 聽聽聽聽聽聽聽聽text: "Python" 聽聽 聽聽聽聽聽聽聽聽# total values on spinner 聽聽聽聽聽聽聽聽values: ["Python", "Java", "C++", "C", "C#", "PHP"] 聽聽 聽聽聽聽聽聽聽聽# declaring size of the spinner 聽聽聽聽聽聽聽聽# and the position of it 聽聽聽聽聽聽聽聽size_hint: None, None 聽聽聽聽聽聽聽聽size: 200, 50 聽聽聽聽聽聽聽聽pos_hint:{'center_x':.5, 'top': 1}
Producci贸n:
Imagen 1:
Imagen 2:
Imagen 3:
A continuaci贸n se muestra la salida en video para obtener una mejor comprensi贸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