• 《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文件,具体代码如下:

    1. from kivy.app import App
    2. from kivy.uix.boxlayout import BoxLayout
    3. from kivy.factory import Factory
    4. class PopupBox(BoxLayout):
    5. def __init__(self,**kwargs):
    6. super().__init__(**kwargs)
    7. class PopupApp(App):
    8. def build(self):
    9. return PopupBox()
    10. if __name__ == '__main__':
    11. PopupApp().run()

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

    1. #: import Factory kivy.factory.Factory
    2. <MyPopup@Popup>:
    3. auto_dismiss:False
    4. title:'Hello Popup'
    5. on_dismiss:print('on_dismiss is running')
    6. on_open:print('on_open is running')
    7. size_hint:.8,.8
    8. AnchorLayout:
    9. anchor_x:'center'
    10. anchor_y:'bottom'
    11. Button:
    12. text:'Close Popup'
    13. size_hint:None,None
    14. size:100,100
    15. on_release:root.dismiss()
    16. <PopupBox>:
    17. Button:
    18. text:'Open Popup'
    19. size:100,120
    20. 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文件选择器

     

     

  • 相关阅读:
    mysql(七)------数据库的索引
    flask返回的数据怎么是转义后的字符串啊
    JavaEE-多线程(基础篇三)线程安全
    NV040D语音芯片丨助力空气净化器语音功能
    一文看懂混沌网格(Chaos Mesh)工作原理
    list的使用和模拟实现
    【网络】网络编程套接字(一)
    助力企业前行——Scala&Spark最佳实践课程
    【前端】-css的详解
    MyBatis快速入门
  • 原文地址:https://blog.csdn.net/lstef/article/details/127698179