Kivy 是一个开源的 Python 库,用于开发多点触摸应用程序。它旨在快速开发高度交互式应用程序。以下是一些常见的 Kivy widget 以及它们的基本用法:
1. Button(按钮)
from kivy.app import App
from kivy.uix.button import Button
class TestApp(App):
def build(self):
return Button(text='Hello, World!')
TestApp().run()
2. Label(标签)
from kivy.app import App
from kivy.uix.label import Label
class TestApp(App):
def build(self):
return Label(text='Hello Kivy!')
TestApp().run()
3. TextInput(文本输入框)
from kivy.app import App
from kivy.uix.textinput import TextInput
class TestApp(App):
def build(self):
return TextInput(text='Type here')
TestApp().run()
4. BoxLayout(盒子布局)
BoxLayout 用于以垂直或水平方式排列子组件。
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.label import Label
from kivy.uix.button import Button
class TestApp(App):
def build(self):
layout = BoxLayout(orientation='vertical')
btn = Button(text='Click Me')
label = Label(text='Hello World')
layout.add_widget(label)
layout.add_widget(btn)
return layout
TestApp().run()
5. GridLayout(网格布局)
GridLayout 允许你在网格中放置组件。
from kivy.app import App
from kivy.uix.gridlayout import GridLayout
from kivy.uix.button import Button
class TestApp(App):
def build(self):
layout = GridLayout(cols=2)
layout.add_widget(Button(text='Button 1'))
layout.add_widget(Button(text='Button 2'))
layout.add_widget(Button(text='Button 3'))
layout.add_widget(Button(text='Button 4'))
return layout
TestApp().run()
6. Slider(滑动条)
from kivy.app import App
from kivy.uix.slider import Slider
class TestApp(App):
def build(self):
return Slider(min=0, max=100, value=25)
TestApp().run()
7. ProgressBar(进度条)
from kivy.app import App
from kivy.uix.progressbar import ProgressBar
class TestApp(App):
def build(self):
return ProgressBar(max=100, value=40)
TestApp().run()
8. CheckBox(复选框)
from kivy.app import App
from kivy.uix.checkbox import CheckBox
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.label import Label
class TestApp(App):
def build(self):
layout = BoxLayout()
cb = CheckBox()
label = Label(text='Check me!')
layout.add_widget(cb)
layout.add_widget(label)
return layout
TestApp().run()
9. Popup(弹窗)
from kivy.app import App
from kivy.uix.popup import Popup
from kivy.uix.label import Label
class TestApp(App):
def build(self):
popup = Popup(title='Test popup', content=Label(text='Hello world'), size_hint=(None, None), size=(200, 200))
popup.open()
return Label(text='Below the popup')
TestApp().run()
10. ScrollView(滚动视图)
from kivy.app import App
from kivy.uix.scrollview import ScrollView
from kivy.uix.label import Label
class TestApp(App):
def build(self):
content = Label(text='Really long text' * 100, size_hint_y=None, height=1000)
scroll = ScrollView()
scroll.add_widget(content)
return scroll
TestApp().run()
这些示例展示了 Kivy 中常用的几种 widget 的基本用法,使得开发者能够利用这些组件快速构建丰富的用户界面。