kivy的框架还是比较简单的,而且可视化,上手难度很低。我总结了一下UX Widgets的部分笔记,希望能帮到大家。
一、Label 标签
from kivy.app import App
from kivy.uix.label import Label
class LabelApp(App):
def build(self):
#Label标签函数,text=“输入文本”
#color标签颜色,0,1,0表示RGB三种颜色,最后的1可以理解为透明度/饱和度,取值范围都是0-1
#font_size表示标签大小
label = Label(text="Label",color=(0,1,0,1),font_size=150)
return label
if __name__ == "__main__":
LabelApp().run()
运行结果:
二、Checkbox 勾选框
from kivy.app import App
from kivy.uix.checkbox import CheckBox
class CheckboxApp(App):
def build(self):
def on_checkbox_active(checkbox,value):#定义选择框函数,输入checkbox是选择框,value是选择框状态
if value:#value是选择状态,True表示勾选,False表示不勾选
print("勾选",checkbox)
else:
print("不勾选",checkbox)
checkbox=CheckBox()#定义一个Checkbox
checkbox.bind(active=on_checkbox_active)#将状态绑定到checkbox上
return checkbox
if __name__=="__main__":
CheckboxApp().run()
输出结果:
三、Image 图片显示
from kivy.app import App
from kivy.uix.image import Image
class ImageApp(App):
def build(self):
img=Image(source="timg.gif")#载入图片
return img
if __name__=="__main__":
ImageApp().run()
运行结果:
四、Slider 滑块
from kivy.app import App
from kivy.uix.slider import Slider
class SliderApp(App):
def build(self):
# orientation方向,vertical表示垂直方向,horizontal表示水平方向
#value_track跟踪值变化,True表示跟踪,False不跟踪,直观表现为True时,滑动滑块,滑条会被填充
#value_track_color滑条的颜色
slide=Slider(orientation="vertical",value_track=True,
value_track_color=(0.2,0.4,0.6,1))
return slide
if __name__=="__main__":
SliderApp().run()
运行结果:
五、ProgressBar 进度条
from kivy.app import App
from kivy.uix.progressbar import ProgressBar
class ProgressBarApp(App):
def build(self):
prog=ProgressBar(max=1000)#设置进度条的最大值
prog.value = 500#进度条显示值
return prog
if __name__=="__main__":
ProgressBarApp().run()
运行结果:
六、TextInput 输入文本框
from kivy.app import App
from kivy.uix.textinput import TextInput
class TextInputApp(App):
def build(self):
text=TextInput(font_size=150)#font_size输入文本框大小
return text
if __name__=="__main__":
TextInputApp().run()
运行结果:
七、ToggleButton 开关按钮
区别于按钮,它按下去之后需要再按一次解除
from kivy.app import App
from kivy.uix.togglebutton import ToggleButton
class ToggleButtonApp(App):
def build(self):
#text按钮标签
#color标签文本颜色
#background_color按键颜色
#font_size标签字体大小
TogBu=ToggleButton(text="Red",color=(0,1,0,1),background_color=(0.5,0,0.5,1),font_size=200)
return TogBu
if __name__=="__main__":
ToggleButtonApp().run()
运行结果:
鼠标点两下,观察到开关按钮的状态。
八、Button 按钮
这个按钮会自动弹起
from kivy.app import App
from kivy.uix.button import Button
class ButtonApp(App):
def build(self):
#text按钮标签
#color标签文本颜色
#background_color按键颜色
#font_size标签字体大小
btn = Button(text="Button",color=(0,1,0.5,1),background_color=(0.2,0,0.5,1),font_size=150)
return btn
if __name__ == "__main__":
ButtonApp().run()
运行结果:
九、Switch 开关
from kivy.app import App
from kivy.uix.switch import Switch
class SwitchApp(App):
def build(self):
switch=Switch(active=True)#默认开关状态,True表示开启状态
return switch
if __name__=="__main__":
SwitchApp().run()
运行结果:
十、Video 视频
from kivy.app import App
from kivy.uix.video import Video
class VideoApp(App):
def build(self):
video=Video(source="m.mp4",play=True)#source视频地址,play播放
return video
if __name__=="__main__":
VideoApp().run()
运行结果:
十一、总结
基本的原件控制就是上面十种,它们可以相互组合,成为强大而多功能的应用。下一篇将介绍kivy的界面布局。