首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Kivy 图形界面开发初体验

Kivy 是一个开源的 Python 第三方库,可以用来快速开发应用程序。 它有如下三个特点: •跨平台 Kivy 。...尤其是其能够将应用程序打包为移动设备(IOS 和安卓)可用的 APP,可以说极大地扩展了 Python 开发的边界。...本篇文章,我们用 Kivy 写一个桌面时钟程序,来体验一下 Kivy 的图形界面开发。其最终效果如下图所示: ? 本文所述程序的代码结构如下图所示: ?...在本程序中,我们一共有 3 个地方使用了 Kivy 的设计语言,它们分别是: •时钟屏幕:clockscreen.kv•秒表屏幕:stopwatchscreen.kv•主界面:main.kv 在时钟屏幕中...在秒表屏幕中,我们按照如下方式定义构建了一个界面: ? 最后在主界面中,引入这两个屏幕,通过布局管理器,将其放置在了主界面中: ?

8.6K20

Kivy 5种常用图形界面布局初探

对于任何图形界面的框架而言,布局都是非常重要的一个组成部分。 它就像人体的骨骼、房屋的钢筋混凝土梁架,支撑起整个图形界面、条理好各个小部件的位置。...而 Kivy 也提供了不少的布局方式,供我们在使用 Kivy 开发跨平台的图形界面程序时使用。 ?...下面,我们就通过一些实例来了解 Kivy 的几种常用图形界面布局。 浮动布局 在浮动布局中,小部件基本上不受限制,浮动在布局中。我们通过设置小部件的大小和位置,来自由地控制布局内的小部件。 ?...网格布局 网格布局GridLayout在各类图形界面开发中都是很常用的布局层。通过行和列的设置,它可以灵活地自适应地控制小部件在布局层中的位置。...实例化的 GridLayout() 必须指定行rows、列cols 中至少一个值,不然将会抛出异常。例如: GridLayout(cols=2) ?

3.7K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    每日算法系列【LeetCode 289】生命游戏

    题目描述 根据百度百科,生命游戏,简称为生命,是英国数学家约翰·何顿·康威在1970年发明的细胞自动机。 给定一个包含 m × n 个格子的面板,每一个格子都可以看成是一个细胞。...每个细胞与其八个相邻位置(水平,垂直,对角线)的细胞都遵循以下四条生存定律: 如果活细胞周围八个位置的活细胞数少于两个,则该位置活细胞死亡; 如果活细胞周围八个位置有两个或三个活细胞,则该位置活细胞仍然存活...; 如果活细胞周围八个位置有超过三个活细胞,则该位置活细胞死亡; 如果死细胞周围正好有三个活细胞,则该位置死细胞复活; 根据当前状态,写一个函数来计算面板上细胞的下一个(一次更新后的)状态。...这样的话就不能直接修改原数组元素了,不然当你遍历下一个元素的时候,它周围的值都变掉了,还怎么看它要不要变呢?所以我们应该想办法把变化前变化后的元素都保存下来。...而边界问题很好处理,只需要判断一下有没有超出边界就行了。

    72620

    详解如何把.py文件转.apk

    : pythonkivy_venv\share\kivy-examples\demo\showcase\main.py,写一个简单的程序main.py测试一下: ?...,首先我们先在该系统中添加一个共享文件夹,这样可以和windows共享文件,在VB的设备->共享文件夹选项中有配置: ?...然后我们使用固定分配,在windows下某个路径新建一个文件夹后将其选择为共享文件夹,并选择自动挂载: ? 然后重新启动虚拟机就可以访问该共享文件夹了: ?...设置好了共享文件夹后,可以将之前写的测试程序main.py拷贝到该文件夹,然后在虚拟机中拷贝到桌面备用。...然后在它自动下载配置之后就会在桌面的bin文件夹下面生成了apk文件,可以安装在手机上试一下。 基本流程大概如此^^,详细可以去官网了解。

    11.8K21

    如何用 Python 写一个安卓 APP ?

    ,值得注意的是64位系统没有开启虚拟化支持,在导入kivy的时候会报错,如果是64位系统就设置一下机器的BIOS,开启虚拟化支持吧。...注:这里只是kivy的运行环境,这样我就能直接在windows机器上直接调试了,怎么将代码编译成APK文件我们会在后面讲到。 如果kivy在python中应该就能导入了。...新建一个.py文件 from kivy.app import Appfrom kivy.uix.button importButton class TestApp(App): def build...().run() 上面就是我们的Hello了 在windows上运行当然没有什么太大的意义,怎么在安卓手机上运行才是我们想要的, 这时我们需要一个编译环境。...Buildozer VM Or select the Torrent 在笔者提供的镜像里,桌面上有一个dev_and,只要将上面写的代码,放入这个文件夹即可(当然也可以在其他目录,后面会讲到)。

    5.8K20

    通过Kivy将Python文件打包成apk

    公众号:diting_dapeng 一.前言 Kivy 是一个开源的 Python 框架,用于快速开发应用,实现各种当前 流行的用户界面,比如多点触摸等等。...周日在配置Kivy时,教程繁多繁琐,让自己有些找不着北,挨个试后,经常在某 处卡壳,屡屡碰壁, 希望自己接下来的集成操作可以为和我一样初开始无所适从的人带来一些帮助 感谢@校长叫我起床,@面包群友的帮助...环境下实现,集成式框架比较容易实现 2.通过python for android,(这种可以在windows下实现,但需要安装和配置许多内容,较为繁琐) 3.通过Kivy Launcher...所以推荐使用p4a,也就是kivydev64,这个打包环境也是第一个建立在64位ubuntu的环境。 1....在成功导入打开的过程中,还会遇到一个问题,会提示你usb接入错误,此时需要你安装这个文件: 下载的链接地址已经放到下方; 3.成功将镜像环境导入后,如果你能看到此神兽Ubantu,说明你的胜利已经在前方

    3.6K20

    使用 Python + Kivy 编写和打包安卓APP

    但是,Kivy 在移动端的打包,还是不如 BeeWare 方便。 今天,咱们就来试着把 Kivy 写的图形程序实现在安卓端的运行,体验一下 Kivy 的打包。...州的先生之前在「觅道文档」写过一部分的 Kivy 教程,其中有一个秒表的程序: ? 其项目结构如下所示: ? 其中: /font文件夹用于放置中文字体文件。...Kivy 官方提供了一个自动化构建工具——Buildozer,但是这个工具目前只适用于 Linux。...这个时间到底有多漫长,看看这篇文章的发布时间就知道了,一言难尽,太不容易了~ 最终在 bin 目录下,生成了一个 apk 文件: ? 我们将其发送到手机上并进行安装。 ? 最后是运行的效果: ?...可以看到程序内小部件的位置和大小与桌面版的图形界面有一定的出入,这是因为我们这个程序本身就是以桌面端为基准进行编写的,也没有对移动端进行兼容性的适配设置。 不过,其功能还都是一样的。

    24.7K73

    如何用python写一个安卓APP?(上)

    生成一个虚拟环境 这样更加干净独立 当然这也是可以自主决定的 so 我是怎么简单怎么来 First 键盘win+R 输入cmd,运行 打开命令行窗口 Then 为了确保你有最新的 pip 命令行输入...install kivy 你也可以选择安装kivy例程 python -m pip install kivy_examples 验证kivy是否安装成功 其实就是 编写一个kivy程序 运行是否成功...Scatter控件,这是一个多点触控控件,可以实现缩放、移动、旋转 l = Label(text='hello',font_size=130) #实例化Label标签控件,用来显示文字...更多kivy相关知识 请到这里 https://kivy.org/doc/stable/ 4 但我们要的是安卓APP 现在仅仅是在电脑上的GUI 怎么办呢 莫急 kivy自然为你解决 还提供了.../kivy-buildozer-vm-2.0.zip 一切顺利 导入虚拟机 在virtualbox设置中 配置好共享文件夹和内存(很重要) 共享文件夹的目的 就是实现windows主机与linux虚拟机

    26.6K40

    FAST 角点检测

    为了判断这个点有没有移动,我们需要比较前后两帧图片中相同特征点之间是否有位移。为了判断是否是相同特征点那就要进行比对(匹配)。 怎么比较两个特征点是否是同一个?...这就需要比较这两个特征点周围信息是否一样。周围信息是一样那就认为是同一个特征点。 那么怎么比较周围信息? 一般会把周围的像素通过一系列计算方式变成一个数字。...算法步骤 对于图像中一个像素点 ,其灰度值为 _ 以该像素点为中心考虑一个半径为 3 的离散化的 Bresenham 圆,圆边界上有16个像素 (如下图所示) 设定一个合适的阈值 t,如果圆上有...n 个连续像素点的灰度值小于 Ip−t 或者大于 Ip+t ,那么这个点即可判断为角点( n 的值可取12或9) 加速算法 为了获得更快的效果,还采用了而外的加速办法。...算法特点 FAST算法比其他角点检测算法要快 受图像噪声以及设定阈值影响较大 当设置 <12 FAST 不产生多尺度特征,不具备旋转不变性,而且检测到的角点不是最优 Python OpenCV 实现 它被称为

    15510

    没有电脑也能数据分析,安卓运行Jupyter notebook 操作指南

    而在Python的使用过程中,最受欢迎的可谓是Jupyter notebook 了,因为它具有以下众多优点: 1 极其适合数据分析( 想象一下如下混乱的场景:你在终端中运行程序,可视化结果却显示在另一个窗口中...带有闪亮的新SDL2后端的Kivy图形库。 快速安装存储库中提供PyQt5支持以及matplotlib PyQt5支持,无需额外代码。 快速安装存储库中提供的Matplotlib Kivy支持。...看到这里,童鞋们有没有心动呢?尤其是对于numpy,scipy,matplotlib,scikit-learn等科学库的支持,真的让小编很激动啊!...5 使用Jupyter notebook 最后有个小tip,如果将浏览器的UA标识从安卓设置为电脑,小编认为对于Jupyter notebook 的使用会更方便些~ ? ? ? 怎么样?...这样完美打开IPYNB文件的神器,还不快去下载一个~最后提醒一下,记得把Pydroid 3 软件设置为白名单,不要被手机后台关掉哦,否则浏览器端会报错滴!

    2.9K30

    如何用python写一个安卓APP?(下)

    ——聪明的瓦肯人 ---- 1 正如上篇结尾所述 我手动添加了Aild文件 怎么做的呢 对于我这个安卓盲 不得不白嫖于stack overflow (ps:幸好小哥我懂点英语) 在我尝试了诸如安装...2013年platform-tools与build-tools就分开了 并不如上面所述,platform-tools包含了build-tools) 由于 我不想使用SDK manager下载 (主要是不想设置镜像...然后放在了android-sdk-20目录下 再次执行打包程序 第二条错误确实没有了 然而又多出来一个新的问题 ok 这简单 八成是SDK版本的问题 于是我找到了kivy的一个网上论坛...这个时候 我想到了SDK manager 当我打开manager后 发现 platform-tools似乎出于破损状态 看来手动添加还是有些问题的 上面的努力直接作废 我佛了 so 我只好开始设置镜像...与此同时 针对第一条问题 在CSDN上也有了相关解答 倒腾来倒腾去 还是由于缺少相关SDK工具 并且 由于网络也好,bug也罢 SDK manager不能很好地发挥作用 安装不了相关软件 手动添加也有问题

    2.5K20

    Python高阶项目(转发请告知)

    ,边界宽度和数字时钟的背景色: 结合所有元素来定义时钟应用程序的标签: 定义数字时钟的主要功能。...在这里,我将标签文本设置为实时: 运行并查看输出: 使用Python获取桌面通知 桌面通知应用程序如何工作? 该任务待办事项清单,在该清单中我们有一个目标要实现。...带有Python的计算器 Kivy是一个免费的开源Python库,可快速轻松地开发高度交互的跨平台应用程序。...在这种情况下,Kivy的运行效果最佳,因为它不依赖笨拙的浏览器,并且其许多组件都使用Cython库在C中实现,因此大多数图形处理都直接在GPU中运行。...然后在其周围排列一个矩形。它可以帮助我们查看机器是否检测到条形码/ Qr码。•其次,我们在已创建的矩形上方添加文本。文本将显示解码后的信息。•第三,我们将信息导出到文本文档中。

    4.3K10

    没有电脑也能数据分析,安卓运行Jupyter notebook 操作指南

    而在Python的使用过程中,最受欢迎的可谓是Jupyter notebook 了,因为它具有以下众多优点: 1 极其适合数据分析( 想象一下如下混乱的场景:你在终端中运行程序,可视化结果却显示在另一个窗口中...带有闪亮的新SDL2后端的Kivy图形库。 快速安装存储库中提供PyQt5支持以及matplotlib PyQt5支持,无需额外代码。 快速安装存储库中提供的Matplotlib Kivy支持。...看到这里,童鞋们有没有心动呢?尤其是对于numpy,scipy,matplotlib,scikit-learn等科学库的支持,真的让小编很激动啊!...5 使用Jupyter notebook 最后有个小tip,如果将浏览器的UA标识从安卓设置为电脑,小编认为对于Jupyter notebook 的使用会更方便些~ ? ? ? 怎么样?...这样完美打开IPYNB文件的神器,还不快去下载一个~最后提醒一下,记得把Pydroid 3 软件设置为白名单,不要被手机后台关掉哦,否则浏览器端会报错滴!

    2.3K20

    创建CV数据集总共分几步?这款移动端APP帮你分分钟完成

    机器之心报道 参与:陈萍、魔王 创建数据集涉及许多费时费力的工作,那么有没有办法能够轻松实现数据集创建呢?...最近有一款简易小工具 Manthano 在 Google Play 上架了。这款 APP 支持在移动端直接操作,几分钟内即可创建自己的计算机视觉数据集,并支持在任何需要的地方做数据标注。 ? ‍...Manthano 在博客中介绍了创建以下三个类别数据集的步骤: 树莓派 3 摄像头 Arduino Uno 开发板 收集图像 首先是收集图像。...在 Manthano App 中上传图像。 标注图像 接下来,就需要对图像进行标注了。 尽量在对象周围绘制边界框。不要假设对象背后可能有什么,仅注释看到的内容。...使用 Finger Offset 功能,以最大程度地避免手指影响边界框的绘制。 ? 图像标注过程。 下载标注 最后转到控制面板(app.manthano.ai),然后将图像和标注下载到桌面。 ?

    60520

    VC R-CNN | 无监督的视觉常识特征学习(附源码)

    另一方面,不知道大家有没有思考过,为什么在NLP领域出现了很成功的word embedding方法,比如word2vec以及最近很火的BERT。...这些都在迫使我们思考,我们有没有办法在现有标注条件下去学习常识呢? 最后我们想到了因果理论,我们能不能通过因果理论将CV中的视觉常识往前推进一点点呢?...根据我们刚刚介绍的“do算子”的理论,解决的办法也不难,只要能找到confounder然后对他们使用backdoor理论进行控制即可。那在我们这一套proxy task里面,混杂因子是什么呢?...就这样,我们利用bottomup特征已有的边界框坐标提取VC特征后,将其并在先前的bottomup特征上作为新的特征。...VC R-CNN设计了一个预测周围物体的proxy task,通过这个task学习到的VC Feature就作为了干预武器的化身。这个化身能够让context prediction更鲁棒。

    1.3K10
    领券