kivy的Popupu部件的学习,包括py,kv文件,有实操演示效果及源码,及此部件的常用属性:
先上图
popup.py源码:
from kivy.app import App
from kivy.uix.popup import Popup
from kivy.uix.boxlayout import BoxLayout
class PopupBox(BoxLayout):
def __init__(self,**kwargs):
super().__init__(**kwargs)
class PopupApp(App):
def build(self):
return PopupBox()
if __name__=='__main__':
from kivy.core.window import Window
Window.clearcolor=[0,0,0,0]
PopupApp().run()
popup.kv源码:
: ##自定义弹窗,提出公共属性
auto_dismiss:False ##是否自动关闭下拉框
title:'Hello Popup' ##弹窗标题
on_dismiss:print('on_dismiss is running') ##触发事件
on_open:print('on_open is running') #触发事件
size_hint:.8,.8
AnchorLayout: ##添加一个错点布局
anchor_x:'center' ##设置位置
anchor_y:'bottom' ##设置位置
Button: ##添加一个按钮
text:'Close Popup!' ##显示的文本
size_hint:None,None ##设置大小
size:100,60 ##设置大小
on_release:root.dismiss() ##触发事件
: ##定义页面
Button: ##添加一个按钮
text:'Open popup' ##显示的文本
size_hint:.1,.1 ##设置大小
on_release:Factory.MyPopup().open() ##触发事件,弹出弹窗
以上源码自行复制在开发工具里进行调试,了解其中的功能。
Popup常用属性 | 说明 |
title | 弹出窗口的标题,默认为“No title” |
title_align | 标题的水平对齐方式,可设置为:left(默认)、center、right或justify |
title_color | 标题使用的颜色,默认为[1,1,1,1] |
title_font | 标题使用的字体,默认为“Roboto” |
title_size | 标题的字体大小,默认为“14sp” |
content | 标题正下方显示的弹窗的内容,默认为None,可设置为其他小部件 |
separator_color | 标题和内容之间的分隔符使用的颜色,默认为[47/255.,167/255.,212/255.,1] |
separator_height | 分隔符的高度,默认为2dp |
add_widget(widget) | 添加一个新的小部件作为此小部件的子级 |
on_open | 打开弹窗时触发 |
on_dismiss | 弹窗关闭时触发 |
因有同学问到我的kivy学习资料里支持中文的方法是怎么解决的,我将解决中文的方法链接贴在这里,大家去照着做就可以了,很简单点击这个链接进入:kivy全局中文支持最简单的解决方法。