当前位置: 首页 > news >正文

如何用python制作app_用kivy或者python制作app

2018-11-17 回答

由于近期突然想要搞一个跨平台的小项目,用于在手机与电脑上使用,所以在网上找了一些开发类似跨平台项目比较好的解决方案。而跟据kivy官网上对其理念的说明,让我有了一些心动,所以就此写下自己在kivy上的学习。既算是记笔记,也算是再次开始写博客的一个借口吧。kivy是一套python在ui上的框架。其主要用于现在越来越火的新型用户接口的开发。(新型用户接口指多点触控) kivy是完全开源的,包括商业许可。 kivy标榜自己是fresh、fash、flexiable、focused、funded、free的。 kivy的安装在此,我只介绍有关windows的安装,在其他平台下的安装由于我还没有具体的环境,所以也不知道具体会遇到什么问题,就介绍出来了.首先,我们要先下载在windows安装包,里面包含了我们之后所需要的全部的三方类库.然后,就是解压到你想要它在的任何地方.最后,将解压后的一个批处理文件加到你的右键菜单中.找到的解压目录 找到kivy.bat文件 复制这个文件 在你的资源浏览器中的地址栏中,输入shell:sendto,这会打开一个文件夹 把你黏贴你复制的kivy.bat文件的快捷方式在这里 找到一个 .py 文件,右键→发送到,你应该就可以看到一个kivy*的选项了 hello world安装完成kivy之后,下面让我们按照国际惯例来写一个hello world程序,以标明从此之后,我们就要开始kivy之旅了!运行代码我们将上面的代码保存为kivy_helloworld.py,然后右键→发送到kivy*,我们就会看到下面的结果了!解释关于上面代码的解释,我也只是一知半解的,所以我就直接用官网上面对这段代码的解释了.first, we import kivy, and check if the current installed version will be enough for our application. if not, an exception will be automatically fired, and prevent your application to crash in runtime. you can read the documentation of kivy.require() function for more information.首先,我们导入kivy,然后检查最近被安装的版本是否支持我们的应用程序。如果不支持,一个异常江北自动抛出,然后保护你的应用程序在运行时崩溃。你可以阅读有关kivy.requier()函数的文档来获得更多的信息。 we import the app class, to be able to subclass it. by subclassing this class, your own class gains several features that we already developed for you to make sure it will be recognized by kivy.我们引入app类,以便能够继承它。通过继承这个类,你自己的类获得几个我们已经为你开发出来用于确认已经被kivy认识到得特性。next, we import the button class, to be able to create an instance of a button with a custom label.下一步,我们导入button类,以能够创建一个伴随有一个label的按钮的实例。then, we create our application class, based on the app class. we extend the build() function to be able to return an instance of button. this instance will be used as the root of the widget tree (because we returned it).然后,我们创建我们的基于app类的应用程序类。我们扩展build()方法以便返回一个button的实例.这个实例被用于作为widget树的根(因为我们返回它).finally, we call run() on our application instance to launch the kivy process with our application inside.最后,我们再我们的应用程序实例中调用run()以启动kivy在内部处理我们的应用程序.

相关文章:

  • python在不同的软件里都能识别吗_技术教程:2个Python程序识别图片和pdf上的文字!...
  • du -sh 如何找到最大的文件夹_Linux上查找最大文件的 3 种方法
  • python **参数为什么放在最后面_求大神帮忙看一下,在运行时为啥只保留了最后一张图片...
  • cdn jquery怎么没有提示_jQuery终端模拟器——基于web的终端
  • printf 指针地址_C语言零基础入门-指针-03
  • python有颜色进度条库_wxPython实现带颜色的进度条
  • python字典的一些操作_python 字典的一些操作
  • git 如何重新登录github_GitHub多账号管理
  • 解决python脚本连接终止问题_paramiko:自动终止远程启动的进程
  • eclipse ide for c/c++_重拾《 两周自制脚本语言 》- Eclipse插件实现语法高亮
  • eclipse启动springboot项目_教程:Systemctl启动SpringBoot项目
  • 非管理员用户使用iis_(七)使用管理员身份新增使用用户
  • php制作万年历的步骤_Excel 制作偶像万年历
  • 循环buffer的实现_用PHP实现高并发服务器
  • 统计一行文本的单词个数_【我爱背单词】从300万单词中给你一份3000英语新闻高频词汇...
  • 【css3】浏览器内核及其兼容性
  • CAP 一致性协议及应用解析
  • Django 博客开发教程 16 - 统计文章阅读量
  • ECMAScript6(0):ES6简明参考手册
  • interface和setter,getter
  • JavaScript DOM 10 - 滚动
  • JS题目及答案整理
  • Node项目之评分系统(二)- 数据库设计
  • Promise面试题2实现异步串行执行
  • Python_网络编程
  • Python学习之路16-使用API
  • Storybook 5.0正式发布:有史以来变化最大的版本\n
  • vue中实现单选
  • vue自定义指令实现v-tap插件
  • 高程读书笔记 第六章 面向对象程序设计
  • 构建二叉树进行数值数组的去重及优化
  • 好的网址,关于.net 4.0 ,vs 2010
  • 聊一聊前端的监控
  • 腾讯大梁:DevOps最后一棒,有效构建海量运营的持续反馈能力
  • 走向全栈之MongoDB的使用
  • 1.Ext JS 建立web开发工程
  • ​Kaggle X光肺炎检测比赛第二名方案解析 | CVPR 2020 Workshop
  • ​TypeScript都不会用,也敢说会前端?
  • ​人工智能之父图灵诞辰纪念日,一起来看最受读者欢迎的AI技术好书
  • # 日期待t_最值得等的SUV奥迪Q9:空间比MPV还大,或搭4.0T,香
  • (1) caustics\
  • (DFS + 剪枝)【洛谷P1731】 [NOI1999] 生日蛋糕
  • (Forward) Music Player: From UI Proposal to Code
  • (二)【Jmeter】专栏实战项目靶场drupal部署
  • (原+转)Ubuntu16.04软件中心闪退及wifi消失
  • .NET 5.0正式发布,有什么功能特性(翻译)
  • .NET Core 实现 Redis 批量查询指定格式的Key
  • .NET DataGridView数据绑定说明
  • /proc/stat文件详解(翻译)
  • @ConfigurationProperties注解对数据的自动封装
  • @vue/cli脚手架
  • [ 云计算 | AWS ] 对比分析:Amazon SNS 与 SQS 消息服务的异同与选择
  • [17]JAVAEE-HTTP协议
  • [2018-01-08] Python强化周的第一天
  • [AIGC] SQL中的数据添加和操作:数据类型介绍