1 wxPython 官网: https://wxpython.org/pages/overview/ 概述: wxPython是一个用C ++编写的适用于Python的跨平台GUI工具包,它让Python...拓展: wxpython的在线教程网址: http://www.vue5.com/wxpython/wxpython.html 2 Tkinter 官网: https://docs.python.org...因为C++在编写核心时考虑到了性能,所有的图形处理都是通过OpenGL硬件加速的,GPU着色器被用来加速视频解码、合成和视觉效果等关键部分。...13 PyOpenGL 官网: https://pypi.org/project/PyOpenGL/ 概述: PyOpenGL是一个最常见的跨平台的OpenGL和相关的APIs的python绑定,这个绑定是使用标准的...它支持窗口、用户界面事件处理、操纵杆、OpenGL图形、加载图像和视频以及播放声音和音乐。pyglet支持在Windows、OS X和Linux上工作。
/project/PyOpenGL/ 概述: PyOpenGL是一个最常见的跨平台的OpenGL和相关的APIs的python绑定,这个绑定是使用标准的ctypes库创建的,并且是在一个非常自由的BSD...它支持窗口、用户界面事件处理、操纵杆、OpenGL图形、加载图像和视频以及播放声音和音乐。pyglet支持在Windows、OS X和Linux上工作。...PyDark被设计为完全可定制和可伸缩的,允许开发人员继承基类并创建新的子类。...Firefly的设计理念是“让开发人员专注于前端”,包括开发框架和数据库缓存服务,和其他基本的游戏服务器服务,节省了很多游戏开发人员的工作时间,真正让用户专注于游戏的逻辑。...,它很容易使用快速、现代的图形效果。
有了Kivy,界面设计师可以编写一次代码并部署到多个平台,而内置的OpenGL ES 2支持允许他们使用现代和强大的图形和设计技术。...Libavg 由Ulrich Von Zadow用c++编写的开源Libavg GUI框架使用Python作为脚本语言,是为现代触屏设备开发用户界面的最佳框架之一。...通过对模块化的关注,PyForms变得非常适合快速创建原型,它还可以缩短应用程序后期阶段的维护工作。...PySide2的文档部分被划分为教程、视频指南、示例、API文档等区域,以广泛地涵盖框架中包含的各种主题。...PyGUI可用于Python 2和3,是的,它确实支持扩展,让你使用OpenGL和GTK。 ·END·
Tcl(工具命令语言)是个宏语言,用于简化shell下复杂程序的开发,Tk工具包是和Tcl一起开发的, 目的是为了简化用户接口的设计过程。Tk工具包由许多不同的小部件,如一个按钮、一个滚动条等。...PyOpenGL———— 模块封装了“OpenGL应用程序编程接口”,通过该模块python程序员可在程序中集成2D和3D的图形。...它是 wxWidgets 的 Python Bind,与 wxWidgets 的开发完美同步,最为重要的一点是它的消息机制与 MFC 颇为相似,以前在 MFC 的经验完全可以稍作变化就套用在 wxPython...这件事情 wx 解决得非常完美,它的sizer 概念可以让我轻松地在不同窗口尺寸的情况下保持完美的控件布局。...前者是 wxPython 的有限封装,不支持 wxPython 的全部特性,它的目标是让 wxPython 更加 Pythonic。
在构建程序的GUI时,通常使用层叠方式,图形控制元素直接叠加在一起。 Python GUI 当你使用python编写应用程序时,你就一定要使用GUI。Python GUI的选择有很多。...(教程地址:http://flexx.readthedocs.io/en/latest/) 3....Kivy基于OpenGL ES 2,能够让使用相同源代码创建的程序能跨平台运行。这个框架是事件驱动的,基于主循环,非常适合开发游戏。(项目地址:https://kivy.org/#home) 6....PySide Qt(cute)是使用“C++”语言编写的应用程序/用户界面(UI)框架。“PySide”是“Qt”的封装。与PySide的不同之处在于PyQt可以商用。...与Kivy和PyQt相比,它能不加修改地,稳定运行各种操作系统之上,如Linux,Windows,MacOS等(项目地址:https://github.com/GNOME/pygtk) 13. wxPython
显示列表和着色器:OpenGL 提供了两种主要的方式来指定如何渲染图形。一种是通过使用显示列表来指定一系列的顶点和参数。...状态机:OpenGL自身是一个巨大的状态机(State Machine):一系列的变量描述OpenGL此刻应当如何运行。OpenGL的状态通常被称为OpenGL上下文(Context)。...我们通常使用如下途径去更改OpenGL状态:设置选项,操作缓冲。最后,我们使用当前OpenGL上下文来渲染。...从学习的角度来看,opengl有着足够好的教程,并且从上手难度来说opengl是比较好上手的,能够快速让你得到正反馈并且继续学下去。有了一定基础后续学习现代图形API也可以更快上手。...从就业的角度来看,opengl现在在就业市场上还是有着不少的岗位的。但是现代图形API是大势所趋,后续应该会有更多的岗位,如果为了就业学opengl没问题,不过最好也一边学习现代图形API
在构建程序的GUI时,通常使用层叠方式,图形控制元素直接叠加在一起。 Python GUI 当你使用python编写应用程序时,你就一定要使用GUI。Python GUI的选择有很多。...(教程地址: http://flexx.readthedocs.io/en/latest/) 3....Kivy Kivy基于OpenGL ES 2,能够让使用相同源代码创建的程序能跨平台运行。这个框架是事件驱动的,基于主循环,非常适合开发游戏。...PySide Qt(cute)是使用“C++”语言编写的应用程序/用户界面(UI)框架。“PySide”是“Qt”的封装。与PySide的不同之处在于PyQt可以商用。...与Kivy和PyQt相比,它能不加修改地,稳定运行各种操作系统之上,如Linux,Windows,MacOS等(项目地址: https://github.com/GNOME/pygtk) 13. wxPython
众说纷纭,有人列举了许多实现GUI界面的类库,例如C++的QT、MFC,Python的Tkinter等。但是这些类库是如何显示的呢?...现代计算机有一个专门的关键部分,用于完成渲染工作,它就是GPU(Graphics Processing Unit)。 ? 我们在屏幕上看到的动画或视频,是单一的一帧一帧画面重复绘制的结果。...程序是如何调用GPU的? 既然屏幕绘制工作是GPU完成的,那么在系统里,软件是如何调用GPU的呢? 无论是什么系统,软件是不能直接控制GPU的。...OpenGL封装了不同操作和不同显式驱动之间的差异,让不同软件可以使用一套统一的接口控制屏幕绘制。...微信小程序与之类似。
PyQt将Qt和Python结合在一起。它不只是一个GUI工具包。...还包括了线程,Unicode,正则表达式,SQL数据库,SVG,OpenGL,XML和功能完善的Web浏览器,以及许多丰富的GUI小部件集合。 使用pip安装一下。...04. wxPython wxPython是一个跨平台GUI的Python库,可轻松创建功能强大稳定的GUI,毕竟是用C++编写的~ 目前,支持Windows,Mac OS X,macOS和Linux。...PyGUI PyGUI是一个以简单API而闻名的GUI框架,减少Python应用与平台底层GUI之间的代码量。 轻量级的API,可以让你的应用程序运行起来更流畅,更快速。 同时还开源代码,跨平台项目。...Pyforms是一个Python2.7/3.x跨环境图形应用开发框架,模块化和代码复用可以节省大量工作。 允许应用程序在桌面,Web和终端上运行,无需修改代码。
此外它还拥有大量的第三方扩展库和庞大活跃的社群支持,比如图形库PIL,跨平台GUI框架wxPython,应用服务器Zope,网络框twisted,3D支持PyOpenGL。...他推崇开放和自由,喜欢印有YouNeed Python的文化衫和PYTHON的车牌,主张Computer Programming for Everybody,让Python为我们开心地工作。...1995年Guido一家迁居美国后开始为Zope公司工作。...C++使用模板就轻松搞定了么?C/C++ 体制里面隐藏的类型转换实在令人担忧。(C++View创刊号专门讨论过用C++如何求两数之和,BruceEckel给过一个Java实现。)...与直接用C编写扩展相比,Pyrex允许在同一代码中更无缝地混合C级别的变量和Python级别的变量对象。扩展模块Psyco还可以插入Python解释器的内部,让它运行得更快。
PyQt将Qt和Python结合在一起。它不只是一个GUI工具包。...还包括了线程,Unicode,正则表达式,SQL数据库,SVG,OpenGL,XML和功能完善的Web浏览器,以及许多丰富的GUI小部件集合。 使用pip安装一下。...wxPython是一个跨平台GUI的Python库,可轻松创建功能强大稳定的GUI,毕竟是用C++编写的~ 目前,支持Windows,Mac OS X,macOS和Linux。...PyGUI PyGUI是一个以简单API而闻名的GUI框架,减少Python应用与平台底层GUI之间的代码量。轻量级的API,可以让你的应用程序运行起来更流畅,更快速。同时还开源代码,跨平台项目。...Pyforms是一个Python2.7/3.x跨环境图形应用开发框架,模块化和代码复用可以节省大量工作,允许应用程序在桌面,Web和终端上运行,无需修改代码。
OpenGL基础 由于OpenGL是一个图形API,并不是一个独立的平台,它需要一个编程语言来工作,在这里我们使用的是C++。...OpenGL的大多数功能都被库隐藏起来,开发者很少有控制OpenGL如何进行计算的自由。...当使用OpenGL的核心模式时,OpenGL迫使我们使用现代的函数。...OpenGL的状态通常被称为OpenGL上下文(Context)。我们通常使用如下途径去更改OpenGL状态:设置选项,操作缓冲。最后,我们使用当前OpenGL上下文来渲染。...打开这个网站:https://glad.dav1d.de/ 将语言(Language)设置为C/C++,在API选项中,选择3.3以上的OpenGL(gl)版本(我们的教程中将使用3.3版本,但更新的版本也能用
PyQt将Qt和Python结合在一起。它不只是一个GUI工具包。...还包括了线程,Unicode,正则表达式,SQL数据库,SVG,OpenGL,XML和功能完善的Web浏览器,以及许多丰富的GUI小部件集合。 使用pip安装一下。...04. wxPython wxPython是一个跨平台GUI的Python库,可轻松创建功能强大稳定的GUI,毕竟是用C++编写的~ 目前,支持Windows,Mac OS X,macOS和Linux。...PyGUI PyGUI是一个以简单API而闻名的GUI框架,减少Python应用与平台底层GUI之间的代码量。 轻量级的API,可以让你的应用程序运行起来更流畅,更快速。 同时还开源代码,跨平台项目。...pyforms是一个Python2.7/3.x跨环境图形应用开发框架,模块化和代码复用可以节省大量工作。 允许应用程序在桌面,Web和终端上运行,无需修改代码。
一直想学OpenGL,最近看了一点儿,昨天用Qt5.12重新实现了NeHe的OpenGl教程的第一篇。...立即渲染模式从OpenGL实际运作中抽象掉了很多细节,因此它在易于学习的同时,也很难让人去把握OpenGL具体是如何运作的。...状态机 OpenGL自身是一个巨大的状态机(State Machine):一系列的变量描述OpenGL此刻应当如何运行。OpenGL的状态通常被称为OpenGL上下文(Context)。...假设当我们想告诉OpenGL去画线段而不是三角形的时候,我们通过改变一些上下文变量来改变OpenGL状态,从而告诉OpenGL如何去绘图。...glBindObject(GL_WINDOW_TARGET, 0); 这一小段代码展现了你以后使用OpenGL时常见的工作流。
OpenGL ES的内容也可以与Core Animation内容进行集成。...Core Animatio相关基类及子类 Core Animation 提供了一下一组应用可以采用的类来提供对不同动画类型的支持: CAAnimation 是一个抽象公共基类,CAAnimation采用...Quartz 2D能够与所有的图形和动画技术(如Core Animation, OpenGL ES, 和 UIKit 等)一起使用。 Quartz 2D采用paint模式进行绘制。...OpenGL 不仅支持包括 OSX,Windows,Linux 和 Android 在内的几乎所有平台,还有大量的教程,书籍和最佳实践指南等资料。...走封装的路子,你的工程中就可以只在这些封装中调用 C++ 代码,从而避免掉很多让人头痛的问题,比如直接改文件后缀名会因为在错误的文件中引用了一个 C++ 头文件而产生难以追踪的编译错误。
而且,如果您怀疑使用解释型语言将大程序结合在一起的想法,那您不妨考虑一下 Microsoft Word 的早期版本是如何实现的。...更有趣的事:初步的项目组织器 无论如何,言归正传,这里向您展示一个程序,它事实上做一些值得做的事情。这个程序让您创建一个称之为项目的文本文件列表。您可以编辑和保存它们。...我让代码来说明自己,但那是您如何做的,孩子们。 新代码剩下的问题是事件处理程序,用于处理在程序执行过程中所碰到的。我再次让程序自己来说明大部分。...这与 Windows API 的工作方式相当不同。正是这样您知道的。 文档状况 让我说,wxWindows API 的文档处于……开发中。...对于 wxWindows,C++ 的文档很好。有时,在 Python 框架中,如何使这些文档合理些,是相当神秘的。
2.1 着色器与OpenGL 现代OpenGL渲染管线严重依赖着色器来处理传入的数据。如果不使用着色器,那么用OpenGL可以做到的事情可能只有清除窗口内容了,可见着色器对于OpenGL的重要性。...ixed-function pipeline),它可以在不使用着色器的情况下处理几何与像素数据。从3.1版本开始,固定功能管线从核心模式中去除,因此我们必须使用着色器来完成工作。...它与OpenGL的发展是同时进行的,并通常会与每个新版本的OpenGL一起更新。虽然GLSL是一种专门为图形开发设计的编程语言,但是你会发现它与“C”语言非常类似,当然还有一点C++的影子。...着色器是OpenGL非常基础的操作,因此很有必要尽早介绍它,让读者能够尽快适应它的代码编写。...本章将介绍编写着色器的方法,以循序渐进的方式讲解GLSL,讨论如何编译着色器并且与应用程序相结合,以及如何将应用程序中的数据传递到不同的着色器中。
作者 | 天元浪子 来源 | CSDN博文精选 【编者按】OpenGL(开放式图形库),用于渲染 2D、3D 矢量图形的跨语言、跨平台的应用程序编程接口,C、C++、Python、Java等语言都能支持...本文作者以 Python 语法为例,用两万字详解 OpenGL 的理论知识、用法与实际操作,干货满满,一起来看看吧。...OpenGL 不是一个独立的平台,因此,它需要借助于一种编程语言才能被使用。C / C++ / Python / Java 都可以很好支持 OpengGL,我当然习惯性选择 Python 语言。...我是这样安装的: pip install PyOpenGL-3.1.3b2-cp37-cp37m-win_amd64.whl OpenGL 库及函数简介 我第一次接触 OpenGL 的 GL / GLU...Glu 为了减轻繁重的编程工作,封装了OpenGL函数,Glu函数通过调用核心库的函数,为开发者提供相对简单的用法,实现一些较为复杂的操作。此函数由glu.dll来负责解释执行。
领取专属 10元无门槛券
手把手带您无忧上云