【问题标题】:GUI with PyGame带有 PyGame 的图形用户界面
【发布时间】:2017-08-22 20:45:08
【问题描述】:

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

我想知道的是:

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

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

【问题讨论】:

    标签: python user-interface opengl pygame directx


    【解决方案1】:

    看看herehere,这可能是使用 DirectX 渲染 GUI 的最快设置。还可以查看示例,也许那里有关于渲染 UI 的内容。

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

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

    【讨论】:

      【解决方案2】:

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

      您可以将 C++ 与 OpenGL 或 DirectX 一起使用,但这些工具使用起来有点困难,现在我不知道您在编码方面有多先进,以及您是否想让您的应用同时适用于 MacOS 和 Windows移植应用程序需要大量工作。

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

      宙斯先生

      【讨论】:

        猜你喜欢
        • 2015-03-24
        • 2015-07-16
        • 2016-01-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-01-23
        • 2011-06-06
        • 1970-01-01
        相关资源
        最近更新 更多