带有 PyGame 的 GUI

问题描述 投票:0回答:3

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

我想知道的是:

  • 我是否误认为 PyGame 不适合此操作,我是否仍然应该使用 PyGame? - 也许我不应该使用绘图而应该使用图像,但随后就失去了改变颜色的能力。
  • 我应该学习 OpenGL 并制作自己的对象和交互吗?
  • 也许 Python 不是最合适的工具,该工具可以是 C++ 和 OpenGL 或 DirectX 吗?

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

python user-interface opengl pygame directx
3个回答
1
投票

看看这里这里,它可能是使用 DirectX 渲染 GUI 的最快设置。另外查看示例,也许那里有一些关于渲染 UI 的内容。

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

然而,您必须实现用户输入,例如将鼠标悬停在元素上以显示一些信息,这也不是微不足道的(需要管理几何图形和其他内容),考虑使用一些现成的库,例如CEGUI


0
投票

你是对的,PyGame 并不完全是你想要的,但是很多人已经制作了非常广泛的模块来用 python 制作游戏。另外,Python 是像 C 一样的跨平台编程语言,这一点也很棒。唯一的挫折是如果你想让这个程序独立。很少有计算机预装了 python 3.6(我忽略了 MacOS 已经安装了 python 2.7 的事实),并且许多允许您将脚本构建到独立应用程序中的模块不支持 python 3.6。

您可以将 C++ 与 OpenGL 或 DirectX 结合使用,但这些工具使用起来有点困难,现在我不知道您的编码水平如何,如果您想为 MacOS 和 Windows 平台制作应用程序,那么移植应用程序需要大量工作。

这取决于你,希望我能帮到你!

宙斯先生


0
投票

我也遇到过类似的情况,我发现带有 Raylib 库的 NIM 编程语言是一个非常有趣的选择,可以玩视觉事物..对于以前玩过 Python 和 pygame 的人来说,这是一个很好且简单的选择

© www.soinside.com 2019 - 2024. All rights reserved.