1. python如何进行GUI桌面开发有哪些不错的库可以推荐
Python进行GUI开发的库其实很多,下面我简单介绍几个不错的库,感兴趣的朋友可以自己尝试一下,实验环境win10+python3.6+pycharm5.0,主要内容如下:
tkinter
这个就不用多说了,python自带的GUI开发标准库,对于开发小型简单的应用来说,完全可以了,开源、跨平台,使用起来非常方便,下面我简单测试一下,主要代码如下:
点击运行程序,效果如下,一个窗口一个Label标签:
easygui
这个是基于tkinter的一个窗口GUI库,可以快速创建窗口对话框,包括常见的登陆对话框、注册对话框等,下面我简单介绍一下这个库的安装和使用:
1.首先,安装easygui,这个直接在cmd窗口输入安装命令“pip install easygui”就行,如下:
2.安装完成后,我们就可以直接编写代码进行测试了,主要代码如下,非常简单:
点击运行这个程序,效果如下:
kivy
这是一个跨平台的GUI应用程序开发库,可以用来开发安卓、苹果应用,一套程序,可以处处运行,下面我简单介绍一下这个库的安装和使用:
1.首先,安装kivy,这个直接按官方教程安装就行,如下:
2.安装完成后,就可以直接编写代码进行测试了,主要代码如下,非常简单:
点击运行程序,效果如下,这里你可以将其打包为手机应用,安装到手机上:
wxpython
这也是一个免费、跨平台的Python GUI开发库,相比较前面的tkinter来说,功能更为强大,控件也更多,下面我简单介绍一下这个库的安装和使用:
1.首先,安装wxpython,这个也直接在cmd窗口输入命令“pip install wxpython”就行,如下:
2.安装完成后,我们就可以直接编写相关代码进行测试了,主要代码如下,非常简单,一个简单的文本编辑器:
点击运行这个程序,效果如下:
pyqt
这个Qt的一个Python接口库,借助于Qt强大的用户界面,Python也可以快速开发出GUI程序,组件更多,也更方便,只要你有一定的Qt基础,很快就能掌握这个库的使用,下面我简单介绍一下这个库的安装和使用:
1.首先,安装pyqt,这个直接在cmd窗口输入安装命令“pip install pyqt5”就行,如下,安装需要稍微等待一会儿:
2.安装完成后,我们就可以直接编写代码进行测试了,如下,一个简单的计算器:
点击运行这个程序,效果如下:
至此,我们就介绍完了这5个Python GUI库。总的来说,这5个库使用起来都非常不错,如果你的应用界面比较简单,功能要求不高,可以选择tkinter和easygui,如果界面比较复杂,功能要求比较复杂,可以考虑使用wxpython或pyqt,当然,你也可以使用其他GUI库,像pygame等,根据实际项目需求而定,网上也有相关资料和教程,感兴趣的话,可以搜一下,希望以上分享的内容能对你有所帮助吧,也欢迎大家评论、留言。
python简单的GUI界面化的有内置的模块tkinter相对来说简单,但是做出来的界面也简单。目前市场上用的多的还是QT吧!python有的QT是pyqt5当前使用比较多。如果用的pycharm开发工具也可以进行配置进行开发,最好的用eric专门开发PYQT的软件。
2. 有多好Kivy为android
在android上运行python脚本,或者在android上使用python交互界面,对熟悉python的研究或开发人员来说,是一件很有吸引力的事情,因为python脚本真是非常高效,另外,有很多非常好的库
android官方目前没有支持在android设备运行python,但是网上有一些项目组做了这个事情 这个链接就提供好几个项目,我稍微尝试了 Kivy 这种方式, 需要安装
的东西太多,就放弃了. 推荐 这种方式,使用 qpython 项目, 可以用非常少的付出得到 android 上可以运行的 python 环境.
5 relogin the shell
6. type python in the adb shell
root@generic:/ # python // 我尝试的时候,直接运行 python (其实是运行 /data/data/com.hipipal.qpyplus/files/bin/python ) 会报错: error: only position independent executables (PIE) are supported. 我测试的设备是 Nexus 6 , android 6.0 , 在
这些比较新的 android 系统上有保护,需要可执行程序使用 -PIE 进行编译,否则无法运行. 但我发现同样的目录下 python-android5 是可以运行的, 所以就 mv python python.bak ; ln -s python-android5 python ; 这样后面就可以直接运行 python 了.
-
3. python可以写软件么怎么写
22点24分准时推送,第一时间送达
编辑:技术君 | 来源:youerning
上一篇:
正文
前言
用 Python 写安卓 APP 肯定不是最好的选择,目前用Java和 kotlin 写的居多,但是肯定也是一个很偷懒的选择,而且实在不想学习 Java,再者,就编程而言已经会的就 Python与Golang(注:Python,Golang水平都一般),那么久Google了一下Python 写安卓的 APP 的可能性,还真行。
既然要写个APP,那么总得要有个想法吧。其实想做两个APP来着,一个是自己写着好玩的,一个是关于运维的。关于运维的APP,设计应该如下
可能长这样
然后设计应该是这样。
如果觉得可行的话,评论留言一下你觉得应该写进这个APP的运维常用命令吧^_^,笔者暂时想到的是top,free -m,df –h,uptime,iftop,iotop,如果有什么好的想法就狠狠的砸过来吧,笔者到时应该也会把这个写成一个项目放到github上,大家一起用嘛,开源才是王道,哈哈。
开发安卓APP
我们使用kivy开发安卓APP,Kivy是一套专门用于跨平台快速应用开发的开源框架,使用Python和Cython编写,对于多点触控有着非常良好的支持,不仅能让开发者快速完成简洁的交互原型设计,还支持代码重用和部署,绝对是一款颇让人惊艳的NUI框架。
因为跨平台的,所以只写一遍代码,就可以同时生成安卓及IOS的APP,很酷吧。
本文会带大家写一个Hello world并瞧一瞧 Python 版的2048的代码
kivy安装
环境说明:笔者在用的是Python2.7.10
这里仅介绍windows平台安装
所有平台参考: https://kivy.org/#download
更新pip,setuptools
python -m pip install --upgrade pip wheel setuptools
然后是安装所需要的依赖
python -m pip install docutils pygmentspypiwin32 kivy.deps.sdl2 kivy.deps.glew
kivy.deps.gstreamer --extra-index-url https://kivy.org/downloads/packages/simple/
值得注意的是,上面的安卓需要访问Google,所以请自备梯子,而且kivy.deps.gstreamer这个包比较大(95MB),可以单独本地安装,http://pan..com/s/1o7mlxNk
然后就是安装kivy了
python -m pip install kivy
至此,安装就已经完毕了,值得注意的是64位系统没有开启虚拟化支持,在导入kivy的时候会报错,如果是64位系统就设置一下机器的BIOS,开启虚拟化支持吧。
注:这里只是kivy的运行环境,这样我就能直接在windows机器上直接调试了,怎么将代码编译成APK文件我们会在后面讲到。
如果kivy在python中应该就能导入了。
按照世界惯例,我们”hello”一下吧。
新建一个.py文件
from kivy.app import Appfrom kivy.uix.button importButton
class TestApp(App):
def build(self):
return Button(text='Hello,kivy')
TestApp().run()
运行
然后会弹出一个框,大概如下,点击”hello,kivy”会变颜色
点击窗口并按“F1”会这个窗口的一些属性
然后我们回过头看一看代码。
##导入App,然后让TestApp这个类继承
from kivy.app import App##导入一个Button,运维有这个button,当你点击的时候才会有所反应
from kivy.uix.button
importButton
###定义类,名字必须是xxxAppclass TestApp(App):
###build一个Button
def build(self):
###返回一个Button,文字内容是“Hello,kivy”
return Button(text='Hello,kivy')
##运行,因为继承了App,所以才有的run这个方法TestApp().run()
上面就是我们的Hello了
在windows上运行当然没有什么太大的意义,怎么在安卓手机上运行才是我们想要的,
这时我们需要一个编译环境。
官方说明的环境,如下:
You’ll need:
A linux computer or a virtual machine
Java
Python 2.7 (not 2.6.)
Jinja2 (python mole)
Apache ant
Android SDK
虽然官方提供了一个似乎还不错的虚拟机镜像,但是还是有很多内容需要翻出去,所以笔者在这里提供相对而言更加完善的镜像
下载地址:http://pan..com/s/1geyAY7x
注:virtualbox,vmware需自行下载
root密码:kivy
默认使用账户kivy,密码:kivy123
当然你也可以下载官方镜像,因为第一次编译需要去国外下一大堆东西,所以请自行去下载。
Virtual Machine
A Virtual Machine with Android SDK and NDK and all otherpre-requisites pre installed to ease apk generation:
Kivy Buildozer VM
Or select the Torrent
在笔者提供的镜像里,桌面上有一个dev_and,只要将上面写的代码,放入这个文件夹即可(当然也可以在其他目录,后面会讲到)。
在公众号Python人工智能技术后台回复“面试”,获取腾讯Python面试题和答案。
cd Desktop/dev_and/
初始化会在当前目录生成一个buildozer.spec文件 用于配置生成的apk相关信息
buildozer init
###修改buildozer.spec文件
vi buildozer.spec
至少修改下面三项
# (str) Title of your applicationtitle = helloworld
# (str) Package namepackage.name = helloapp
# (str) Package domain (needed for android/ios packaging)package.domain = youer.com
然后注释
# (str) Application versioning (method 1)#version.regex = __version__ = ['"](.*)['"]#version.filename = %(source.dir)s/main.py
下面这行改为非注释
version = 1.2.0
最后我们生成我们需要的apk文件
buildozer -v android debug
buildozer.spec更详细的相关参数配置参考:
http://buildozer.readthedocs.org/en/latest/specifications.html
buildozer命令会在当前文件夹创建一个bin,该文件夹里面有我们想要的apk文件
helloapp-1.2.0-debug.apk
helloapp-1.2.0-debug.apk
安装以后是这样:
话说在编译的时候可能出现空间不足的情况,根据虚拟机的不同(vmware或virtualbox)自行扩容吧。
最后我们来瞧瞧简易版Python开发的2048这个游戏的源代码。
代码:
https://github.com/mvasilkov/kb/tree/master/6_2048
先看效果图:
试玩了一下,还是蛮流畅的,有兴趣的可以下载玩一下
下载地址:http://pan..com/s/1eQZACDW
这个游戏代码虽然不长,但是还是蛮占篇幅的,所以简要的说明一下流程。
主要由三部分组成,一是素材,图片音频之类的文件,二是Python代码,三是kv文件,这个kv文件有点像 html 中的css。
Python代码的文件名一般命名为 main.py
然后一定有一个叫做 XXXApp 的类,并继承 App。
比如该类叫做GameApp,那么该目录下的kv文件则必须为Game,如上图所示,如果不是,那么kv文件中的一些设定就不会生效。
比如设定一个标签
Label:
id: time
text: 'xxxx'
font_size: 60
id为time,text文本内容为'xxxx',然后字体为60
好吧,点到为止吧,不过似乎什么都没点到~~~
你还有什么想要补充的吗?
你在看吗?一起成长
4. 如何Python写一个安卓APP
使用kivy开发安卓APP,Kivy是一套专门用于跨平台快速应用开发的开源框架,使用Python和Cython编写,对于多点触控有着非常良好的支持,不仅能让开发者快速完成简洁的交互原型设计,还支持代码重用和部署,绝对是一款颇让人惊艳的NUI框架。
操作
更新pip,setuptools;
5. windows下运行python kivy程序提示OpenGL版本低
安装kivy步骤:
1.确保你安装了最新版本的pip和wheel
python -m pip install --upgrade pip wheel setuptools
2.安装依赖
python -m pip install docutils pygments pypiwin32 kivy.deps.sdl2 kivy.deps.glewpython -m pip install kivy.deps.gstreamer
如果遇到内存错误,就在后面加上–no-cache-dir.
如果安装的python版本大于3.5,那么可以用下面的代替glew:
python -m pip install kivy.deps.angle
3.安装kivy
python -m pip install kivy
4.安装kivy示例:
python -m pip install kivy_examples
我安装的示例在:
C:\Users\Toa\AppData\Local\Programs\Python\Python36\share\kivy-examples>
所以我运行如下main.py程序;
python C:\Users\Toa\AppData\Local\Programs\Python\Python36\share\kivy-examples\demo\showcase\main.py
6. kivy根据官网安装好了文件运行example为什么报错找不到moudle pygame
pygame需要另外安装的。
你安装了pygame没有?
7. 可以用Python开发安卓吗
我们知道了Python可以开发桌面应用(PyQt、wxPython等),可以开发服务端(twisted等),可以开发web端(Django、Flask等),开发爬虫(pyspider等),开发硬件stm32(PyBoard等),是一个全栈开发语言。那么可以用Python开发安卓吗?
可以用Python开发安卓吗
Python可以开发安卓应用。
我们可以使用kivy开发安卓APP,Kivy是一套专门用于跨平台快速应用开发的开源框架,使用Python和Cython编写,对于多点触控有着非常良好的支持,不仅能让开发者快速完成简洁的交互原型设计,还支持代码重用和部署,绝对是一款颇让人惊艳的NUI框架。
因为跨平台的,所以只写一遍代码,就可以同时生成安卓及iOS的APP。
Kivy是开源Python函式库,用于开发行动应用程序和其它采用自然用户界面的多点触控应用软件。它可以在Android,iOS,Linux,OS X和Windows执行。采用MIT授权条款,Kivy是自由并且开源的软件。
Kivy的主要架构由Kivy组织开发,并有Python用于Android,Kivy iOS和其它许多函式库被使用在所有平台。在2012年,Kivy从Python软件基金会获得$5000美元补助,用于移植Kivy到Python 3.3。Kivy也支援由Bountysource赞助的树莓派。
更多技术请关注Python视频教程。
8. kivy在Android上运行,有人弄过吗
在电脑上写好一个kivy程序,编译成apk后拷至手机,运行,出现kivy启动界面,随即退出。
怎么查找错误原因呢?在ubuntu下运行该kivy程序(python main.py等),会打印出调试及错误信息,但在手机上怎么办?想到了adb logcat。
于是费了九牛二虎之力,将盛大bambook s1手机连到虚拟机上,执行adb logcat命令,然后执行程序,果然看到了一行错误提示:
I/python ( 4775): [DEBUG ] [Resource ] add </system/fonts> in path list
I/python ( 4775): Traceback (most recent call last):
I/python ( 4775): File "/home/kivy/myprogs/SwitchMT/main.py", line 218, in <mole>
I/python ( 4775): File "/home/kivy/android/python-for-android/build/python-install/lib/python2.7/site-packages/kivy/app.py", line 600, in run
I/python ( 4775): File "/home/kivy/myprogs/SwitchMT/main.py", line 201, in build
I/python ( 4775): File "<string>", line 15, in write
I/python ( 4775): UnicodeDecodeError: 'ascii' codec can't decode byte 0xe4 in position 7: ordinal not in range(128)
该行是一条含中文字符的print语句,字串前未加u。反正以前调试用的语句,不作分析,直接去掉。再次运行,通过。终于出现了程序的kivy界面了。
再查看前面日志,却发现这么一句:
I/python ( 4775): [INFO ] Kivy v1.8.0-dev
I/python ( 4775): [INFO ] [Logger ] Record log in /mnt/sdcard/org.test.SwitchMT/.kivy/logs/kivy_13-08-04_1.txt
自己升级安装的,在ubuntu中运行时所用的kivy v1.7.1,怎么打apk包时变成了1.8.0-dev不得而知。重要的是,该程序在 /mnt/sdcard/org.test.SwitchMT/.kivy/logs下产生有日志文件!找到该目录,发现甚至连main.py都被解包了出来,而日志文件里也指明了错误, 这就是说,运行完kivy程序如果出错,只需在日志目录查看日志文件即可。省去太麻烦的调试环境了。
看了看,发现之前跑过的kivy程序也都有各自的包名下相应的目录,看来这就是kivy的运行机制,当然不知道是不是跟编译打包时加的debug选择有关系,是不是改成release就没有这些目录了呢?毕竟将py源码解出来话卡上不太安全。这就不得而知了。以后再试吧,不过目前至少是解决了查看程序出错日志的问题了,特此记录。
9. 怎么用python编android app
前言:用Python写安卓APP肯定不是最好的选择,但是肯定是一个很偷懒的选择,而且实在不想学习Java,再者,就编程而言已经会的就Python与Golang(注:Python,Golang水平都一般),那么久Google了一下Python写安卓的APP的可能性,还真行。
既然要写个APP,那么总得要有个想法吧。
其实笔者想做两个APP来着,一个是自己写着好玩的,一个是关于运维的。
关于运维的APP,设计应该如下
可能长这样:
主要由三部分组成,一是素材,图片音频之类的文件,二是Python代码,三是kv文件,这个kv文件有点像html中的css。
Python代码的文件名一般命名为main.py
然后一定有一个叫做XXXApp的类,并继承App。
比如该类叫做GameApp,那么该目录下的kv文件则必须为Game,如上图所示,如果不是,那么kv文件中的一些设定就不会生效。
比如设定一个标签
Label:
id: time
text: 'xxxx'
font_size: 6012345
id为time,text文本内容为’xxxx’,然后字体为60
好吧,点到为止吧,不过似乎什么都没点到~~~
从无到有做一个App,我想我会另起一篇文章吧。
10. 什么是Kivy,以及Hello world
Kivy是跨平台运行的,用于Python编程语言来开发图形界面程序。
当前支持的平台包括:Linux、Windows、Mac OS X和Android。
突出特色是开发多点触摸应用程序。
安装Kivy,直接到官网下载安装包即可。
示例代码:
from kivy.app import App
from kivy.uix.button import Button
class TestApp(App):
def build(self):
return Button(text='Hello World')
TestApp().run()