
Kivy App开发
文章平均质量分 59
kivy让python快速开发移动App
优惠券已抵扣
余额抵扣
还需支付
¥99.90
¥299.90
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
竹影卿心
这个作者很懒,什么都没留下…
展开
-
Kivy App开发之UX控件Bubble气泡
kivy提供了一个提示气泡的小控件Bubble,使用时可以指定气泡箭头的方向以及显示的图像,还可以作为容器添加其他小控件。原创 2025-01-20 16:59:29 · 243 阅读 · 0 评论 -
Kivy App开发之UX控件VideoPlayer视频播放
运行程序,如果视频路径正确,则自动播放视频,在界面上可以实现调节音量,暂停和继续播放等操作,如下图示。kivy使用VideoPlayer控件实现视频播放,可以控制视频的播放,暂停,音量调节等功能。在使用VideoPlayer视频播放器时,可以参考下表属性来设置其样式和触发事件。v1.mp4文件与videoplayer.py放在同级目录下。使用实例videoplayer.py。原创 2025-01-20 14:55:49 · 309 阅读 · 0 评论 -
Kivy App开发之UX控件FileChooser文件选择器
可以通过两种不同的方式来显示文件或文件夹,分别是FileChooserListView列表显示,FileChooserIconView图标显示,且提供滚动和选择等基本功能。在kivy开发中,使用FileChooser控件来实现浏览文件的功能。显示,FileChooserListView。显示,FileChooserIconView。注意,中文可能会显示乱码。更改kv文件,切换样式。原创 2025-01-17 16:33:35 · 484 阅读 · 0 评论 -
Kivy App开发之UX控件TabbedPanel选项面板
在开发过程中,可以使用TabbedPannel作为容器,管理选项卡中的不同小控件,分为标题区和内容区,其中标题区域用于显示选项卡按钮,内容区域用于显示当前选项卡的内容。原创 2025-01-17 16:11:43 · 305 阅读 · 0 评论 -
Kivy App开发之UX控件Spinner选择框
Spinner也是一个下拉列表,在选择框中快速地从一组值中选择一个值,默认状态下,Spinner会显示当前text的属性值,点击时会显示一个下拉菜单,从其中选择一个新的值。原创 2025-01-16 16:57:44 · 152 阅读 · 0 评论 -
Kivy App开发之异步执行
在开发过程中,如果要执行一些非常耗时的操作,如下载较大文件等,这时页面就会卡在这里,而用户就会觉得这个应用无响应,给用户一个不好的体验,所以在一些耗时的操作执行时,可以让其异步执行,不影响用户界面的其他操作。创建一个异步处理asyn_data.py。原创 2025-01-16 15:58:29 · 172 阅读 · 0 评论 -
Kivy App开发之UX控件Popup弹窗
Popup控件用于创建一个弹出式的窗口,弹出的窗口默认覆盖父窗口,需要设置title和content两个属性,弹窗默认大小size_hint=(1,1),当设置该值时,即表示全屏显示,如果想全屏显示,可以修改size_hint参数的值。需要引入Factory来调用已定义好的弹窗。点击 open popup 弹窗。popup.kv代码。原创 2025-01-13 17:35:42 · 266 阅读 · 0 评论 -
Kivy App开发之UX控件ProgressBar进度条
方便查看进度条的动态效果,可以使用Clock类,通过Clock类的schedule_interval()方法,动态地更新进度值。value: 30 #初始值。当需要显示某些任务的进度时,可以使用ProgressBar控件。进度条代码,创建一个新的progressbar.kv文件。创建一个main.py文件。原创 2025-01-13 16:35:23 · 103 阅读 · 0 评论 -
Kivy App开发之UX控件Slider滑块
在app中可能会调节如音量,亮度等,可以使用Slider来实现,该控件调用方便,兼容性好,滑动平稳。使用方法,需用引入Slider类,通过Slider类生成一个滑块并设置相关的样式后,再通过add_widget()方法添加到布局中即可。在slider.kv文件中添加触发事件,并设置对应的回调方法,如果方法在.py文件内,可以使用root.方法名调用。Slider支持设置方向,范围,步长,颜色,当前值,轨迹等内容,常见属性如下。支持水平和垂直方向,可以设置默认值,最小及最大值。原创 2025-01-08 16:31:11 · 241 阅读 · 0 评论 -
Kivy App开发之UX控件DropDown下拉列表
在kivy中,下拉列表的定位是自动的,即列表展开的位置根据上下方是否有控件自动调整,且可以包含其他控件,如按钮,图片等。在应用中,需要使用base包下的runTouchApp类,用于触发下拉框。创建一个kv(dropdown.kv)文件,存放下拉列表内容。怎样在kivy中实现下拉列表的功能?运行 测试, 点击按钮,弹出下拉列表。DropDown控件常见的属性如下。原创 2025-01-08 14:09:44 · 327 阅读 · 0 评论 -
Kivy App开发之打包apk
使用p4a需要手动下载安卓SDK和NDK的安装包,解压,然后安装构建工具,并配置SDK,NDK,且该方法只能在Linux下打包。Kivy项目可以为windows,max os,安卓,IOS等平台创建运行python的程序包。使用Buildozer自动构建整个过程并打包成apk,会自动下载并设置Python-for-Android的所有必需组件。下载虚拟机后导入到Oracle VM中,设置共享目录,以便将文件传入到虚拟机。将文件放置服务器,发布下载地址,将地址生成一个二维码,扫描下载后安装。原创 2024-12-27 16:41:27 · 724 阅读 · 0 评论 -
Kivy App开发遇到的问题
如图示,不要安装在带空格的路径下,Program Files 错误,后面安装kivy部件时导致找不到路径, 只能卸载重装. Python重装后将之前kivy的安装拷贝到新的目录下,不用重新安装。安装kivy,kivy的库都会安装在python的目录下,所以kivy项目设置编译器指向python。反馈给我们一个信息,就是我们使用的pip版本为9.0.1,但当前可用版本是20.2.3。P4a虚拟机python版本升级,使与将要打包的程序python版本一致。执行./configure时,如果报错。原创 2024-12-26 15:12:20 · 75 阅读 · 0 评论 -
Kivy App开发之数据交互一
任何应用都离不开数据,开发kivy app 时可以使用内嵌数据库(sqlite)解决数据存储的问题。如果数据比较复杂且数据量较大时,sqlite 则显得不合时宜,毕竟它是一个轻量级的数据库,不可储存过多的数据,性能发挥最好只是在存放较小数据量的情况下。不能将sqlite当关系数据库(sqlserver,mysql)来使用,它存储的数据量有限。所以开发app时不可以避免的要搭建服务器,在服务器部署数据库,进行数据交互。在服务器提供api接口,app端请求这个接口进行数据交互。首先在app端发送原创 2021-10-22 16:47:37 · 1651 阅读 · 0 评论 -
Kivy App开发之SQLite
SQLite 嵌入式数据库,它的数据库实际就是一个文件(.db)。该数据库体积较小,所以可以用在各种应用程序里,或在ios和android的app中集成。python3内置了sqlite3,所以python可以直接使用sqlite,不需要再安装。首先连接到数据库,一个数据库连接称为connection;连接到数据库后,打开游标(Cursor),通过Cursor执行SQL语句,然后获得执行结果。python内置了数据库操作的API接口,任何数据库与python连接,只需要提供符合python标准的数原创 2021-10-19 16:54:55 · 883 阅读 · 0 评论 -
Kivy App开发之garden.navigationdrawer安装
如果App的页面较多,可以在主页面添加一个在左侧隐藏的导航栏,这样的样式在Android的布局中是比较常见的,Kivy中可以使用NavigationDrawer来实现。NavigationDrawer安装比较简单,只需执行命令"garden install navigationdrawer"即可。NavigationDrawer使用需要定义2个窗口,默认将第一个窗口作为隐藏面板,第二个作为主面板,通过方法toggle_state()方法来显示或隐藏窗口。安装:执行cmd,打开命令窗口,执行g原创 2020-10-18 01:32:25 · 1201 阅读 · 0 评论 -
Kivy App开发之手势控制
在App开发中,为了加强用户体验,通常需要在App中添加手势功能,即通过向左,向右和向上滑动的方式来触发不同的事件,从而实现不同的功能。在进行手势控制之前,需要手势的相关信息,比如从左向右滑动,先通过程序捕捉到手势的信息。在安装kivy时,如果安装了kivy-examples(可以使用命令python -m pip install kivy_examples==1.11.1安装),在kivy-examples的安装目录下找到gestures/gesture_board.py文件,运行后可以看到一个黑原创 2020-10-17 23:46:03 · 773 阅读 · 0 评论 -
Kivy App开发之登录界面Demo
登录界面是根据个人设想简单设计的,效果如下:代码如下,新建login.kv<LoginPage>: FloatLayout: canvas.before: Rectangle: size:self.size pos:self.pos source:"image/bg2.png" Image: so原创 2020-10-16 15:33:17 · 3127 阅读 · 0 评论 -
Kivy App开发之中文处理
kivy的字体库是不支持中文显示的,代码注释中文也会有问题,但是它是支持Unicode编码的,所以可以将中文转为Unicode编码。首先编写一个程序将中文转为Unicode字符串def trun_to_unicode(string): str = '' for v in string: str = str + hex(ord(v)).upper().replace('0X','\\u') print(string,'的Unicode编码为:',str)原创 2020-10-15 10:24:05 · 1593 阅读 · 2 评论 -
Kivy App开发之多页面切换跳转
APP比较多页面时,业务需要从页面A跳转到页面B。首先定义一个页面receive,另一个页面index,点击index上的按钮,跳转到receive页面。receive.kv定义如下:<ReceivePage>: BoxLayout: id:receive_box orientation:"vertical" canvas.before: Rectangle: pos:s原创 2020-10-13 21:05:07 · 2462 阅读 · 0 评论 -
Kivy App开发之页面加载
实现在主程序里加载其他页面1. index.kv文件,代码<IndexPage>: cols:1 Button: text:"press anywhere to start app" on_press:print("index clicked")2. index.py,from kivy.uix.gridlayout import GridLayoutclass IndexPage(GridLayout): def原创 2020-10-13 18:35:46 · 1034 阅读 · 0 评论 -
Kivy App开发之新建项目
创建一个新的项目,执行以下步骤:1. 执行cmd, 进入命令窗口,切换到放项目文件的目录 2. 创建虚拟环境执行后可以查看到文件夹内容3. 使用PyCharm打开,设置编译器 找到Interpreter菜单设置已安装的python编译器4. 编写hello程序测试 新建一个main.py文件,输入以下代码from kivy.app import Appfrom kivy.uix.button import Buttonfrom kivy....原创 2020-10-13 16:23:08 · 502 阅读 · 0 评论 -
Kivy App开发之UX控件CheckBox
CheckBox复选框,一个特定的两种状态的按钮,可以选中或取消选中。如果一个组中只有一个checkbox,则将成为单选按钮。使用时通过CheckBox类生成一个复选框并设置相关样式,checkbox = CheckBox()定义回调函数def on_checkbox_active(checkbox,value): if value: print('checkbox',checkbox,'is active') else: pr...原创 2020-10-10 15:59:19 · 602 阅读 · 0 评论 -
Kivy App开发之UX控件TextInput
TextInput文本输入框,可编辑,支持UNICODE编码,多行,光标导航,选择和剪切板等多种功能使用输入框需要引入TextInput类,通过TextInput类生成一个文本框并设置相关样式,在通过add_widget()方法添加到布局中,如from kivy.uix.textinput import TextInputinput = TextInput(text = 'tst')self.add_widget(input)TextInput常用属性,方便设置输入值的样式属性原创 2020-10-10 12:18:41 · 1337 阅读 · 0 评论 -
Kivy App开发之UX控件Image
kivy使用Image控件来显示图片,通过size,pos属性设置大小和位置,source属性设置图片的相对路径。另外,如果图片过大,为了防止卡顿,可以使用异步加载的方式来显示图片。通过Image类生成一个图片,然后通过add_widget()方法添加到布局中,代码如下from kivy.uix.image import Imageimg = Image(source='01.jpg')self.add_widget(img)注意,source使用的是相对路径,即直接运行文件main.p原创 2020-10-10 10:16:40 · 1433 阅读 · 0 评论 -
Kivy App开发之UX控件Label
在kivy中,label用于呈现文本,支持ASCII和UNICODE编码的字符串(不支持中文),在label中可以设置文本内容,字体,大小,颜色,对齐方式,换行,引用及标记文字等。使用时,先引入Label类,然后通过Label类生成一个标签,再通过add_widget()方法添加到布局中。from kivy.uix.label import Labellbl = Label(text='Label 100')self.add_widget(lbl)Label的常用属性属性 说明原创 2020-10-09 18:21:23 · 1312 阅读 · 2 评论 -
Kivy App开发之UX控件Button
kivy中的按钮控件Button,可以放置文本或图像,也可以监听用户的行为等。使用方法:通过Button类生成一个按钮,再通过add_widget()添加到布局中from kivy.uix.button import Buttonbt = Button(text='Button 01')self.add_widget(bt).kv文件代码如下Button: text:'Button 01'因为kivy会自动放大根控件,所以在按钮没有设定位置和大小时运行程序,按钮会充满窗口原创 2020-10-09 16:32:50 · 1063 阅读 · 0 评论 -
Kivy App开发之画布Canvas
在kivy中的每个控件以及布局中都包含了canvas属性,通过canvas属性,可以设置控件的背景以及显示的颜色,可以通过在canvas中添加不同的Instructions指令来达到不同的页面效果。可以将canvas理解为在坐标空间中一个无限的绘图板,通过向canvas中添加绘图指令来绘制图形。通过add(Instruction canvas)方法将一个canvas画布添加到布局中。from kivy.app import Appfrom kivy.uix.relativelayout im原创 2020-10-09 15:14:48 · 1512 阅读 · 1 评论 -
Kivy App开发之页面背景设置
widget控件创建后,kivy会自动为其生成一个canvas画布,用来绘制对象,通过画布可以设置显示的颜色,尺寸等,或设置背景图片。这里的画布与html5里的是不相同的,是一组在坐标空间的指令容器。设置背景色为白色,代码如下from kivy.app import Appfrom kivy.uix.boxlayout import BoxLayoutfrom kivy.graphics import Rectangle,Colorclass BoxLayoutWin(BoxLayout)原创 2020-10-09 14:05:28 · 2556 阅读 · 1 评论 -
Kivy App开发之布局 StackLayout
StackLayout为堆栈布局,在StackLayout布局中,只要没有超出布局的范围,可以垂直或水平地摆放子控件,子控件的大小可以不相同。通过orientation属性指定布局的方向,默认值”lr-tb"。lr,表示从左到右,rl,表示从右往左,tb,表示自上而下,bt,表自下而上。orientation有8个有效属性:按行,lr-tb,lr-bt,rl-tb,rl-bt按列,tb-lr,bt-lr,tb-rl,bt-rl示例:.pyfrom kivy.app import A原创 2020-10-09 12:09:26 · 365 阅读 · 0 评论 -
Kivy App开发之布局 ScatterLayout
ScatterLayout为分散布局,与RelativeLayout布局类似,当改变位置时,布局内的控件也会随着父布局一起移动。ScatterLayout布局主要有Scatter来实现,所以可以进行平移,旋转,缩放布局。示例,利用布局实现图片缩放和旋转。创建scatter.kv文件,代码如下,设置背景色为白色,布局内使用图片,图片的路径为.kv 的同级目录<ScatterLayoutWin>: canvas: Color: rgba:原创 2020-10-09 11:28:48 · 469 阅读 · 1 评论 -
Kivy App开发之布局 RelativeLayout
Relativelayout为相对布局,定位属性x, center_x, right, y, center_y, top相对于父布局的大小,而不是窗口的大小。示例,引入BoxLayout当作基础布局,再添加RelativeLayout布局.py代码如下from kivy.app import Appfrom kivy.uix.boxlayout import BoxLayoutclass RelativeLayoutWin(BoxLayout): def __init__(sel原创 2020-10-09 11:04:30 · 360 阅读 · 0 评论 -
Kivy App开发之布局 PageLayout
PageLayout类似于动态布局,使用PageLayout可以创建一个简单的多页面布局,可以在这些页面间翻转。但是该布局将子控件作为一个单独的页面,所以不支持size_hint和pos_hint等属性。实现代码,.kv文件<PageLayoutWin>: anim_kwargs:{'d':5,'t':'linear'} page:2 swipe_threshold:.8 border:'100dp' Button: text:原创 2020-09-30 16:20:33 · 854 阅读 · 0 评论 -
Kivy App开发之布局 GridLayout
GridLayout为网格布局,当需要将控件排列成表格状时,可以使用GridLayout布局方式,根据布局的配置,子控件按照自己的索引顺序被分配位置。使用GridLayout时,需要设置具体的列数(cols)或者(rows)中的一个值,否则程序不能够被执行;只有指定了行或列,当子控件发生变化时,布局才会根据设置的值进行扩展,但是不会超出界限值。示例,先创建一个grid.kv文件,代码如下<GridLayoutWin>: padding:20 spacing:20原创 2020-09-30 15:05:04 · 1363 阅读 · 0 评论 -
Kivy App开发之布局 AnchorLayout
锚点布局,AnchorLayout,可以将子控件设置在左上,中上,右上,左中,正中,右中,左下,中下,右下等9个位置,使用时需要指定anchor_x和anchor_y两个属性。anchor_x,默认为’center',可以接受‘left','center','right'值,分别表示,左中右。anchor_y,默认为'center',可以接受’top','center','bottom'值,分别表示,上中下。示例,先定义一个anchor.kv文件,代码如下<AnchorLayoutW原创 2020-09-30 13:57:21 · 526 阅读 · 0 评论 -
Kivy App开发之布局 BoxLayout
盒子布局,BoxLayout,可以将子控件水平或垂直排列,类似于Android中的线性布局,默认以10像素的间距平分父窗口,也可以自定义设置间距,改变布局方式等。Python代码实现方式,在main.py中导入app类及相关的kivy包,BoxLayout,Button等,编写类继承App类,并实现build()方法;然后编写布局类,继承BoxLayout类,在build()中返回布局类。实现代码如下,main.pyfrom kivy.app import Appfrom kivy.uix.原创 2020-09-30 12:07:57 · 884 阅读 · 0 评论 -
Kivy App开发之布局 FloatLayout
FloatLayout时浮动布局,子控件通过位置和尺寸控制,放在窗口的任意位置,当窗口尺寸变化时,内部的子控件也会相应地调整大小和位置。示例代码main.py代码如下from kivy.app import Appfrom kivy.uix.floatlayout import FloatLayoutclass FloatLayoutWin(FloatLayout): def __init__(self,**kwargs): super().__init__(**原创 2020-09-30 00:59:15 · 976 阅读 · 0 评论 -
Kivy App开发之第一个程序 Say Hello
代码:from kivy.app import Appfrom kivy.uix.button import Buttonfrom kivy.uix.boxlayout import BoxLayoutclass HelloPage(BoxLayout): def __init__(self,**kwargs): super().__init__(**kwargs) self.btn = Button(text="Say Hello") s.原创 2020-09-29 14:21:06 · 396 阅读 · 0 评论 -
kivy app 开发之环境搭建
python 安装下载安装包并安装,注意勾选自动设置环境变量.注意ptython版本尽量3.5或以上安装Kivypip install virtualenv创建项目,创建一个kivy的demovirtualenv kv-demo安装其他依赖项python -m pip installdocutils pygments pypiwin32 kivy_deps.sd12 == 0.1.22 kivy_deps.glew == 0.1.12以下可以二选一安装,建议都安装python -m .原创 2020-09-29 12:01:32 · 1020 阅读 · 0 评论