La idea general de Kivy es: el código kv administra la interfaz, el código Python administra la lógica.
Estas dos palabras, args y kwargs, a menudo se ven en código en Python, generalmente con uno o dos asteriscos delante de ellas. De hecho, este es solo el nombre de variable acordado por los programadores. Args es la abreviatura de argumentos, que significa parámetros posicionales; kwargs es la abreviatura de argumentos de palabra clave, que significa parámetros de palabra clave. En realidad, estas son las dos formas de parámetros variables en Python, y * args deben colocarse antes de ** kwargs, porque los parámetros posicionales están antes de los argumentos de palabras clave.
1 hola mundo
1.1 archivo de Python puro
Archivo main.py
from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.boxlayout import BoxLayout
class IndexPage(BoxLayout):
def __init__(self,**kwargs):
super().__init__(**kwargs)
self.btn = Button(text = "helloworld")
self.add_widget(self.btn)
class TestApp(App):
def build(self):
return IndexPage()
if __name__ == "__main__":
TestApp().run()
1.2 archivo python y archivo .kv
Reemplaza las siguientes dos líneas de código
self.btn = Button (text = "helloworld")
self.add_widget (self.btn)
Archivo test.kv
<IndexPage>:
Button:
text: "helloworld"
Archivo main.py
from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.boxlayout import BoxLayout
class IndexPage(BoxLayout):
def __init__(self,**kwargs):
super().__init__(**kwargs)
class TestApp(App):
def build(self):
return IndexPage()
if __name__ == "__main__":
TestApp().run()
Evento de botón de 2 botones
from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.boxlayout import BoxLayout
class IndexPage(BoxLayout):
def __init__(self,**kwargs):
super().__init__(**kwargs)
self.btn = Button(text = "press me")
self.btn.bind(on_press = self.press_button)
self.add_widget(self.btn)
def press_button(self, arg):
print("press button is running")
class TestApp(App):
def build(self):
return IndexPage()
if __name__ == "__main__":
TestApp().run()
3 Etiqueta
Descargar fuentes compatibles con chino
from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.label import Label
from kivy.uix.boxlayout import BoxLayout
class IndexPage(BoxLayout):
def __init__(self,**kwargs):
super().__init__(**kwargs)
# Button按钮
self.btn = Button(text = "press me")
self.btn.bind(on_press = self.press_button)
self.add_widget(self.btn)
# Label标签
self.la = Label(font_name = "./arialuni.ttf")
self.add_widget(self.la)
def press_button(self, arg):
self.la.text = "show you看"
class TestApp(App):
def build(self):
return IndexPage()
if __name__ == "__main__":
TestApp().run()