《Python+Kivy(App开发)从入门到实践》自学笔记:高级UX部件——Popup弹窗

章节知识点总览

5.3 Popup弹窗

通过kivy中的Popup小部件创建一个弹出式窗口,弹出的窗口覆盖整个父窗口,在Popup天窗中必须设置tilte和content两个属性。

        Popup弹窗默认大小为size_hint=(1,1),表示全屏显示了如果不希望全屏显示,可以修改size_hint的值,或设置固定的窗口。

5.3.1 使用方法

        实例:Popup弹窗的使用方法

        新建一个popup.py文件,具体代码如下:

from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.factory import Factory

class PopupBox(BoxLayout):
    def __init__(self,**kwargs):
        super().__init__(**kwargs)


class PopupApp(App):
    def build(self):
        return PopupBox()

if __name__ == '__main__':
    PopupApp().run()

        根据popup.py文件中PopupApp()类,新建popup.kv文件,具体代码如下:

#: import Factory kivy.factory.Factory

<MyPopup@Popup>:
	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,100
			on_release:root.dismiss()

<PopupBox>:
	Button:
		text:'Open Popup'
		size:100,120
		on_release:Factory.MyPopup().open()

        运行后结果如下图:

e6cbd7e2ab0f4c07816492b0ff70a73a.png

        点击中间文字后,弹出窗口,后台显示on_open is running,点击close Popup,窗口关闭,回到之前界面,后台显示on_dismiss is running,如下图:

25de181519164a4eb96cd375a945260e.png

5.3.2 常用属性

        Popup弹窗可以用下表中的属性来设置其样式和触发事件:

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弹窗关闭时触发


上一篇:高级UX部件——DropDown下拉列表

下一篇:高级UX部件——FileChooser文件选择器

 

 

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

静候光阴

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值