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

用Python作图形界面GUI,这几个库可以满足你所有要求!【建议收藏】

用Python开发图形界面有两种方式 一种是用Django或Flash等框架开发网页 另一种是开发桌面应用程序,比如下面这个国际象棋游戏 本文主要讨论图形界面库GUI,最后会告诉你如何选择。...Kivy Kivy是一个基于OpenGL ES 2的Python图形库,它最大优点是它还支持触摸屏,可以制作非常精美的界面。 Libavg Libavg是专门用于构建触摸屏界面的Python库。...相对于Kivy,它相应更快,毕竟它是专门为触摸屏而设计的。 PySimpleGUI 放在最后,但不代表不重要。顾名思义,这是一个简单的GUI库,非常适合初学者构建不是很复杂的界面。...如何选择 初学者:建议使用PySimpleGUI。它非常简单,容易上手,文档也多。 进阶者:如果觉得PySimpleGUI太简单了,建议使用Wax。Wax是wxPython的包装版本,但是更容易使用。...触摸屏:如果你要开发触摸屏的应用,那就使用Kivy或者Libavy。对执行效率要求很高,就用Libavy,因为它快。否则使用Kivy,更容易使用,界面更容易做。

4K20

Python 的 GUI 开发工具 原

你可以用 Flexx 来创建桌面应用,同时也可以导出一个应用到独立的 HTML 文档。因为使用纯 Python 开发,所以 Flexx 是跨平台的。只需要有 Python 和浏览器就可以运行。...如果是使用桌面模式运行,推荐使用 Firefox 。...Flexx 使用模块化设计,包含一些子系统: ui - UI 部件 app - 事件循环和服务器 react - reactive 编程 pyscript - Python to JavaScript...由于 Tkinter 是内置 python 的安装包中、只要安装好 Python 之后就能 import Tkinter 库、而且 IDLE 也是用 Tkinter 编写而成、对于简单的图形界面 Tkinter...Kivy和python一样具有出色的跨平台特性,使用Kivy编写的程序可以在Windows,Linux,和mac OSX系统之间无缝切换运行,而且具有本地显示效果,特别对触摸屏应用的支持较好,在非触摸屏上也可以配合鼠标模拟触摸效果

6.8K20
您找到你想要的搜索结果了吗?
是的
没有找到

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

这个 开源的python开发框架 具体如何操作呢 继续往下看 3 首先 你肯定得安装了python 这一点不多说 然后 以Windows为例安装kivy 送上官网安装教程 https://kivy.org...重命名为main.py buildozer只能识别main.py 将其放入共享文件夹 (比如我的共享文件夹:H盘/share-vm) 在虚拟机中将该文件夹sf_share-vm打开 将main.py复制虚拟机桌面...是时候进行激动人心的APK打包啦 我的第一款安卓APP近在眼前 噢耶~ 首先 你需要打开终端(Terminal Emulator) 然后 cd Desktop #回车转到桌面...主要下载的是安卓的SDK、NDK、ANT等 (该过程你可能需要访问外国网站) 然后过了许久 又是一顿骚操作 (buildozer自动化程度就是高) 对于我这种安卓盲 这就是福音呀 满心期待的我等待着桌面...please install it 这意味着我失败了 buildozer的自动化也是有漏洞的 我以为 我添加了Aild即可 其实 我又开启了一段 与bug要死要活的斗争 over ---- 预知后事如何

26.3K40

独家 | 5个只有少数程序员知道的用例

然而,大多数开发人员仍然没有意识这些优秀的基于Python的创新。在这个故事中,我将讲解几个鲜为人知的Python用例。尝试将Python应用于以下用例,并帮助Python更受欢迎吧。...此外,您可以在桌面操作系统上运行Kivy应用程序。...如何在Web浏览器上运行Python?通常认为,必须在远程服务器上托管Python解释器实例并通过WebSocket协议进行通信。是的——这就是大多数在线Python解释器所做的。...构建Pythonic混合桌面应用程序 原生桌面应用程序开发在技术上很棒,但我们必须为每个平台维护单独的代码库。因此,现在开发人员倾向于使用跨平台的应用程序框架和GUI工具包来构建桌面应用程序。...像Electron这样的框架提供了一种使用Web前端创建跨平台桌面应用程序的方法。 这些应用程序被称为混合应用程序,因为我们将本机功能嵌入Web应用程序中。

2.8K30

原创 | 整理了38个Python游戏开发库

它支持窗口化、用户界面事件处理、操纵杆、OpenGL图形、加载图像和视频以及播放声音和音乐。pyglet适用于Windows、OS X和Linux。...11 Kivy 官网: https://kivy.org/#home 概述: Kivy是一个开源的Python框架,用于快速开发应用,实现各种当前流行的用户界面,比如多点触摸等等。...27 LimeJS 官网: http://www.limejs.com/ 概述: LimeJS是一个HTML5游戏框架,用于为所有现代触摸屏桌面浏览器。...它使开发人员能够创建从数据可视化游戏的应用程序。...Myrmidon的底线是开发人员应该只关注游戏对象的行为以及用户如何与它们交互。任何低级图形、窗口或输入处理应由Myrmidon全权负责。尽可能地隐藏这些信息,并允许您继续编写游戏。

3K40

通过Kivy将Python文件打包成apk

Kivy 可以运行于 Windows, Linux, MacOS, Android, iOS 等当前绝大部分主流桌面/移动端操作系统。...如果你不想配置recipe和dist之类的参数,可以使用buildozer,但是每次都要复制已经打包成功的项目目录下的.buildozer要打包的项目目录下,buildozer才不会重复下载sdk和ndk...进入/home/kivydev//test是测试目录,该目录下的py2apk是py27打包,py3apk是py35打包,这两个版本的差别只在于不同版本的py配置文件,在该目录下的py文件,必须使用main.py...p4a apk 即可在该目录下产生apk的文件; 5.这里仅作为测试,将该main.py生成的apk进行,在手机上的运行效果如图: 三.后话 至此,已经可以完成简单的py文件的封装了,至于py文件如何编写成适于安卓版本的...,以及如何更换图标,如何再进行设置里面的内容,建议阅读官方文档进行学习,文档地址:https://github.com/nkiiiiid/Kivy-CN 再次感谢前行的铺路者们!

3.1K20

jimojianghu

触控板 要禁止触控板的缩放行为,需要处理鼠标滚轮事件:wheel 。 因为笔记本触摸板双指滑动,将响应该事件,如果对该事件阻止默认行为,就能解决缩放问题了。...此外,对 document 处理了滚轮事件后,因为该事件会传播冒泡,所以需要注意页面上其他的子元素——如果有滚动条之类的,需要在子元素上阻止冒泡,不然后滚动会失效。...用于设置触摸屏用户如何操纵元素的区域,允许你在触控时控制滚动操作。 例如,浏览器内置的缩放功能。 这样做的好处还有,它可以允许你自己实现这些手势。...笔记本触摸板双指滑动,将响应滚轮事件,因此可以监听该事件,禁止触摸板手指缩放界面。 但需要注意滚轮默认事件,如会导致子元素滚动失效,这时候就要在子元素上阻止相同事件冒泡。...由于目标被视为被动,因此无法在被动事件侦听器中阻止默认行为。 可能的发生情景:移动端使用touch事件后,垂直平移时的报错。

3.7K00

android view事件分发机制_android事件分发流程图

就算你不自定义控件,你也必须要了解Android控件的触摸屏事件传递机制(之所以说触摸屏是因为该系列以触摸屏事件机制分析为主,对于类似TV设备等的物理事件机制的分析雷同但有区别。...,只有这样才能将你的控件事件运用的如鱼得水。接下来的控件触摸屏事件传递机制分析依据Android 5.1.1源码(API 22)。 2 基础实例现象 2-1 例子 从一个例子分析说起吧。...如果控件的onTouch返回true将会阻止事件继续传递,返回false事件会继续传递。...3 Android 5.1.1(API 22) View触摸屏事件传递源码分析 3-1 写在前面的话 其实Android源码无论哪个版本对于触摸屏事件传递机制都类似,这里只是选用了目前最新版本的源码来分析而已...View的onTouchEvent返回false会阻止继续派发事件

60520

限时分享Android面试中事件分发的高级技巧

参考简答: 触摸事件的三大阶段: 事件传递阶段: 从ActivityWindow再到ViewGroup,最终传递具体的View实例。...: 判定是否要拦截事件,并阻止事件继续传递。...事件分发:当用户触摸屏幕时,事件首先由顶层的Activity开始分发,然后逐级传递给目标ViewGroup,直到找到处理该事件的View为止。...出发点: 在回答这个问题时,需要考虑MotionEvent在触摸事件中的作用、如何获取和处理MotionEvent、MotionEvent的事件类型等方面。...MotionEvent与事件分发的关系在于,当用户触摸屏幕时,Android系统会将触摸事件封装成MotionEvent对象,并通过事件分发机制传递给相应的View进行处理。

10210

你无法检测到触摸屏

不管是 Safari 还是 Opera 都还没有在他们的桌面浏览器实现触摸接口,所以他们在触摸设备上也没有结果。...没有专门的触摸接口,浏览器仅仅模拟鼠标事件……因而有许多设备和触摸屏不等同,你根本不能用这些检测方法来检测这些设备。...如果你意识这些检测方法的风险和他们所暗含的臆断,不管怎么样,这当然是由你决定是否使用他们。然而,如果你不确定,或你的论点是“支持每一个设备”,下面的建议可能是有用的。...关于布局,假设每个人都有触摸屏。鼠标用户们使用大的控件比触摸屏用户们使用小控件更加容易。悬停状态也是一样的。 关于事件和交互,假设任何人可能有触摸屏。...同等的实现键盘,鼠标和触摸交互,确保没有阻止彼此。 或者,就像我在我的关于媒体查询的文章里建议的一样,你可以只询问浏览器。

1.9K20

利用Python开发App实战

简而言之,这是一个python桌面程序开发框架(类似wxpython等模块),强大的是kivy支持linux、mac、windows、android、ios平台,这也是为什么开发app需要用到这个模块。...python main.py 运行结果: 安装buildozer工具 通过以上的编码,我创建了自己的第一个python app程序,该程序可以直接在mac、linux、windows平台下运行,那么如何让它在安卓或者苹果手机上运行呢...这是在打包的最后一步,将apk文件copy项目bin目录下时报的错,是buildozer的一个bug。...kivy开发实例 因为本文重点在于介绍如何利用kivy+buildozer开发一款python app,因此对于kivy的开发过程,以及app功能进行了最简化。...想要学习如何开发更复杂的app,可参考:https://muxuezi.github.io/posts/kivy-perface.html# END

3.2K20

Android 中屏幕点击事件的实现Android onTouchEvent, onClick及onLongClick的调用机制

在android下,事件的发生是在监听器下进行,android系统能够响应按键事件触摸屏事件事件说明例如以下: onClick(View v)一个普通的点击button事件 boolean onKeyMultiple...在Android中,一次用户操作能够被不同的View按次序分别处理,并将全然响应了用户一次UI操作称之为消费了该事件(consume),那么Android是按什么次序将事件传递的呢?...仅仅有搞清楚事件触发和传递的机制才有可能保证在界面布局非常复杂的情况下,UI控件仍然能正确响应用户操作。 1....这三个事件标识出了最主要的用户触摸屏幕的操作,含义也非常清楚。...要弄清楚这个问题仅仅要理解Android对事件处理的所谓消费(consume)概念就可以,一个用户的操作会被传递不同的View控件和同一个控件的不同监听方法处理,不论什么一个接收并处理了该次事件的方法假设在处理完后返回了

3.1K30

原创 | 整理了32个Python图形化界面库

它为用Python构建桌面应用程序提供了全面的工具,其他流行GUI库的Python绑定也可用。...6 Kivy 官网: https://kivy.org/#home 概述: Kivy是一个开源的Python框架,用于快速开发应用,实现各种当前流行的用户界面,比如多点触摸等等。...它足以定义数据库模式、定义数据库和对象之间的映射,并创建用户友好的桌面GUI。...它可以将图绘制屏幕上,然后轻松地导出为各种格式,包括SVG和PDF。使用Gaphas可以构建带有树、网络、流程图或其他图表的应用程序。...它支持窗口、用户界面事件处理、操纵杆、OpenGL图形、加载图像和视频以及播放声音和音乐。pyglet支持在Windows、OS X和Linux上工作。

5.1K50

win10隐藏的9种功能-效率提升10倍

image.png image.png 第四种:虚拟桌面 一般我们都会打开多个窗口进行办公,但是多个窗口之间如何精准切换?虽说Alt+Tab快捷键使用方便,但打开2个窗口以上效率就会大打折扣。...在开启游戏模式的电脑上打开游戏,系统会做两件事:阻止windows更新执行驱动程序安装,以及发送重启通知;根据具体的游戏和系统,帮助实现更稳定的帧速率,简单来说,就是让游戏变得更加流畅。...第六种:平板模式 如果你的电脑配有一块高大上的触摸屏,那么在开启平板模式后你就不再需要键盘和鼠标啦!而笔记本也可以瞬间变成平板电脑。但是,如果没有触摸屏开启该模式有用吗?...即使没有,你也会有这几种体验: 1、应用会以全屏的方式打开; 2、任务栏和桌面图标都会减少、应用提醒也会减少。 如何开启呢?在桌面点击右下角的【操作中心】,再点击【平板模式】就可以了。...第九种:深色模式 在桌面右键→个性化→颜色→选择颜色→深色开启(可能会两秒左右的卡顿延迟,稍安勿躁) 有没有感觉瞬间充满了神秘感? 此外,大家可能留意有一个自定义的项目。

1.3K30

如何利用Python开发App?

简而言之,这是一个python桌面程序开发框架(类似wxpython等模块),强大的是kivy支持linux、mac、windows、android、ios平台,这也是为什么开发app需要用到这个模块。...安装buildozer工具 通过以上的编码,我创建了自己的第一个python app程序,该程序可以直接在mac、linux、windows平台下运行,那么如何让它在安卓或者苹果手机上运行呢?...这是在打包的最后一步,将apk文件copy项目bin目录下时报的错,是buildozer的一个bug。...kivy开发实例 因为本文重点在于介绍如何利用kivy+buildozer开发一款python app,因此对于kivy的开发过程,以及app功能进行了最简化。...想要学习如何开发更复杂的app,可参考:https://muxuezi.github.io/posts/kivy-perface.html# PS:如果觉得分享内容有一些帮助,欢迎大家随手分享、点赞、在看

3.7K20

一次触摸,Android 到底干了啥

,输入事件有可能来自按键的,来自触摸的,也有来自键盘的,其实软键盘也是一种独立的输入事件。那么为什么我能通过回调函数获取这些输入事件呢?系统是如何精确的让程序获得输入事件并去响应的呢?...触摸屏芯片的时序图 三、内核是如何把输入数据发送给用户空间Android framework的 内核拿到触摸屏的数据后,经过平滑处理,滤波,数据还是在内核空间,那么Android怎么拿到触摸数据呢?...,将这些事件返回,不会往下走了 3)如果第二次进入getEvents方法中就会等待读取输入事件,将读取的touch事件发送返回 这里我们就知道了内核空间的触摸输入数据是如何传递到了用户空间的Android...这里我们就知道了是如何找到这个APP进程的了。...中*/ mInputManager.registerInputChannel(win.mInputChannel,win.mInputWindowHandle) 这里我们就能明白如何将时间分发给对应的

3K10

一次触摸,Android到底干了啥

,输入事件有可能来自按键的,来自触摸的,也有来自键盘的,其实软键盘也是一种独立的输入事件。那么为什么我能通过回调函数获取这些输入事件呢?系统是如何精确的让程序获得输入事件并去响应的呢?...触摸屏芯片的时序图 三、内核是如何把输入数据发送给用户空间Android framework的 内核拿到触摸屏的数据后,经过平滑处理,滤波,数据还是在内核空间,那么Android怎么拿到触摸数据呢?...这里我们就知道了内核空间的触摸输入数据是如何传递到了用户空间的Android framework中的,实际上就是通过/dev/input目录下,去扫描这个目录,如果有device就打开这个device...这里我们就知道了是如何找到这个APP进程的了。...这里我们就能明白如何将时间分发给对应的Activity了,其实是给了它背后的ViewRootImpl。

81121

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

在这里,我将标签文本设置为实时: 运行并查看输出: 使用Python获取桌面通知 桌面通知应用程序如何工作? 该任务待办事项清单,在该清单中我们有一个目标要实现。...并且桌面通知应用程序将不断通知我们全天不同的工作和要采取的行动。 创建一个桌面通知应用程序,以提醒您每小时休息一次。您的消息和警报绝对可以是您想要的任何内容。...让我们看看如何编写Python程序来获取桌面通知: 将手机摄像头用作计算机视觉 对于打算创建将使用智能手机摄像头作为应用程序一部分的计算机视觉应用程序的人,将手机摄像头与Python结合使用非常有用。...然后,乌龟变成了可以触摸屏幕上的可视显示器,通常被替换成任何类型的形状。即使采用纯图形格式,“乌龟”的概念也可以更轻松地表示所采取的动作,从而代表程序的功能。...与其他移动开发替代产品(如Android的Java和iOS的Objective C)Kivy比例,的执行速度相同。此外,Kivy具有可在多个平台上运行的巨大优势,就像HTML5一样。

4.3K10
领券