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

本文主要是介绍《Python+Kivy(App开发)从入门到实践》自学笔记:高级UX部件——Bubble气泡,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

章节知识点总览

5.1 Bubble气泡

        Bubble气泡市kivy提供的一个提示气泡小部件,可以指定气泡箭头的方向以及显示的图像。还可以在气泡中添加其他小部件。

5.1.1 使用方法:

        实例:在页面中添加Bubble气泡

        新建一个bubble.py文件来加载.kv文件,引入App类和BoxLayout布局,并设置背景颜色,具体内容如下:

from kivy.app import App
from kivy.uix.boxlayout import BoxLayoutclass BubbleWidget(BoxLayout):def __init__(self,**kwargs):super().__init__(**kwargs)class BubbleApp(App):def build(self):return BubbleWidget()if __name__ == '__main__':from kivy.core.window import WindowWindow.clearcolor = [.8,.8,.8,1]BubbleApp().run()

        根据bubble.py文件中创建的BubbleApp()类,新建bubble.kv文件,在其中添加两个气泡,第一个气泡箭头方向进行特殊设置;第二个气泡内添加一个Button按钮,具体代码如下:

<BubbleWidget>:size_hint:.5,.2pos_hint:{'center_x':.5,'center_y':.5}Bubble:arrow_pos:'bottom_left'Bubble:Button:text:'Bubble'on_release:print('Bubble Button')

        执行bubble.py文件,点击右边气泡内的按钮,后台会显示'Bubble Button'的反馈,结果如下图:

b6dd86c1961b407b806b1e867d54c188.png

 5.1.2 常用属性

        Bubble气泡常用属性

属性说明
orientation气泡内子项的排列方式,可设置为:“vertical”或“horizontal”(默认)
arrow_pos箭头相对于气泡的位置,可设置为:left_top、left_mid、left_bottom;top_left、top_mid、top_right;right_top、right_mid、right_bottom;bottom_left、bottom_mid(默认)、bottom_right
content气泡主要内容所在的对象,默认为None
limit_to限制气泡位置,默认为None
show_arrow是否显示箭头,默认为True
border自定义背景时与background_image一起使用,默认为(16,16,16,16)
border_auto_scale设置背景时,指定auto_scale值,默认为”both_lower“
arrow_image气泡箭头使用的图像,默认为:“kivy\tools\theming\defaulttheme\bubble_arrow.png”
background_image气泡的背景图像,默认为“bubble.png”
background_color背景颜色,格式为rgba,默认为[1,1,1,1],使用时必须先设置background_image或arrow_image
add_widget(*l)添加一个小部件作为气泡的子级
clear_widgets(**kwargs)删除所有(或指定的)气泡内的小部件

5.1.3 BubbleButton按钮

        在Bubble气泡内的触发事件,只能通过在其内部添加子部件来实现。Kivy内部Bubble包下已经定义好了BubbleButton小部件,功能与Button部件基本一致。

        实例: 使用BubbleButton按钮

        打开上面创建的bubble.kv文件,将其中的Button改为BubblButton,具体代码如下:

<BubbleWidget>:size_hint:.5,.2pos_hint:{'center_x':.5,'center_y':.5}Bubble:arrow_pos:'bottom_left'Bubble:BubbleButton:text:'BubbleBubble'on_release:print('Bubble Button')

        执行bubble.py文件,使用BubbleButton后,气泡内的按钮有了渐变色效果,功能与之前完全一致,如下图所示:

8d4d5ba7b2b9474b9cc50e111a6269e1.png

上一篇:简单UX部件——Video视频

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

 

这篇关于《Python+Kivy(App开发)从入门到实践》自学笔记:高级UX部件——Bubble气泡的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/814091

相关文章

JDK21对虚拟线程的几种用法实践指南

《JDK21对虚拟线程的几种用法实践指南》虚拟线程是Java中的一种轻量级线程,由JVM管理,特别适合于I/O密集型任务,:本文主要介绍JDK21对虚拟线程的几种用法,文中通过代码介绍的非常详细,... 目录一、参考官方文档二、什么是虚拟线程三、几种用法1、Thread.ofVirtual().start(

从基础到高级详解Go语言中错误处理的实践指南

《从基础到高级详解Go语言中错误处理的实践指南》Go语言采用了一种独特而明确的错误处理哲学,与其他主流编程语言形成鲜明对比,本文将为大家详细介绍Go语言中错误处理详细方法,希望对大家有所帮助... 目录1 Go 错误处理哲学与核心机制1.1 错误接口设计1.2 错误与异常的区别2 错误创建与检查2.1 基础

Python版本信息获取方法详解与实战

《Python版本信息获取方法详解与实战》在Python开发中,获取Python版本号是调试、兼容性检查和版本控制的重要基础操作,本文详细介绍了如何使用sys和platform模块获取Python的主... 目录1. python版本号获取基础2. 使用sys模块获取版本信息2.1 sys模块概述2.1.1

一文详解Python如何开发游戏

《一文详解Python如何开发游戏》Python是一种非常流行的编程语言,也可以用来开发游戏模组,:本文主要介绍Python如何开发游戏的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录一、python简介二、Python 开发 2D 游戏的优劣势优势缺点三、Python 开发 3D

Python函数作用域与闭包举例深度解析

《Python函数作用域与闭包举例深度解析》Python函数的作用域规则和闭包是编程中的关键概念,它们决定了变量的访问和生命周期,:本文主要介绍Python函数作用域与闭包的相关资料,文中通过代码... 目录1. 基础作用域访问示例1:访问全局变量示例2:访问外层函数变量2. 闭包基础示例3:简单闭包示例4

Python实现字典转字符串的五种方法

《Python实现字典转字符串的五种方法》本文介绍了在Python中如何将字典数据结构转换为字符串格式的多种方法,首先可以通过内置的str()函数进行简单转换;其次利用ison.dumps()函数能够... 目录1、使用json模块的dumps方法:2、使用str方法:3、使用循环和字符串拼接:4、使用字符

Python版本与package版本兼容性检查方法总结

《Python版本与package版本兼容性检查方法总结》:本文主要介绍Python版本与package版本兼容性检查方法的相关资料,文中提供四种检查方法,分别是pip查询、conda管理、PyP... 目录引言为什么会出现兼容性问题方法一:用 pip 官方命令查询可用版本方法二:conda 管理包环境方法

基于Python开发Windows自动更新控制工具

《基于Python开发Windows自动更新控制工具》在当今数字化时代,操作系统更新已成为计算机维护的重要组成部分,本文介绍一款基于Python和PyQt5的Windows自动更新控制工具,有需要的可... 目录设计原理与技术实现系统架构概述数学建模工具界面完整代码实现技术深度分析多层级控制理论服务层控制注

pycharm跑python项目易出错的问题总结

《pycharm跑python项目易出错的问题总结》:本文主要介绍pycharm跑python项目易出错问题的相关资料,当你在PyCharm中运行Python程序时遇到报错,可以按照以下步骤进行排... 1. 一定不要在pycharm终端里面创建环境安装别人的项目子模块等,有可能出现的问题就是你不报错都安装

springboot依靠security实现digest认证的实践

《springboot依靠security实现digest认证的实践》HTTP摘要认证通过加密参数(如nonce、response)验证身份,避免明文传输,但存在密码存储风险,相比基本认证更安全,却因... 目录概述参数Demopom.XML依赖Digest1Application.JavaMyPasswo