使用PyGame进行GUI

时间:2017-08-22 20:45:09

标签: python user-interface opengl pygame directx

我使用Python和PyGame制作了一个GUI,我希望从现在开始制作更具未来感的GUI。在制作这个特殊的GUI时,我发现PyGame可能不是最好的选择,因为用户事件的数量有限且图纸的质量很低,我的意思是图像中的停止按钮旁边绘制的弧线,未绘制的像素。

我想知道的是:

  • 我错误认为PyGame不适合这个,我还应该使用PyGame吗? - 也许我不应该使用图纸,应该使用图像但是却失去了改变颜色的能力。
  • 我应该学习OpenGL并制作自己的对象和交互吗?
  • 也许Python不是最适合的工具,该工具可以是C ++和OpenGL还是DirectX?

使用Python最好的事情就是容易实现,我创建了一个简单的程序,从网站获取数据并使用Pandas将其保存为CSV文件。这个GUI只是为了显示进度条,并有一个开始按钮,在另一个线程中执行main函数,因此GUI不会停止。

GUI made with PyGame

2 个答案:

答案 0 :(得分:1)

看看herehere,它可能是DirectX渲染GUI的最快设置。还有结帐样本,也许有一些关于渲染UI的东西。

DirectX编码确实是时间吸收,OpenGL 3+也是如此,但DirectX凭借SpriteBatch的简单性获胜。另一方面,OpenGL具有用于立即绘制的遗留绑定,因此您可以告诉点形成多边形和纹理填充它们,而无需创建缓冲区或任何东西,但我会坚持使用DirectX。

然而,您必须实现用户输入,例如将鼠标悬停在元素上以显示一些信息,这也非常简单(需要管理几何和东西),考虑使用一些现成的库,例如CEGUI

答案 1 :(得分:0)

你是正确的,PyGame并不是你想要的,但很多人已经制作了非常庞大的模块来制作python游戏。事实上,python是像C这样的跨平台编程语言,这很棒。唯一的挫折是如果你想让这个程序独立。很少有计算机预装了python 3.6(我忽略了MacOS自带的python 2.7已安装的事实),许多允许你将脚本构建到独立应用程序的模块都不支持python 3.6。 / p>

您可以将C ++与OpenGL或DirectX一起使用,但这些工具使用起来比较困难,现在我不知道您在编码方面有多高级,以及您是否想要为MacOS和Windows制作应用程序平台移植应用程序需要做很多工作。

这取决于你,我希望我有所帮助!

Mr.Zeus