【问题标题】:Python GUI with custom render/drawing具有自定义渲染/绘图的 Python GUI
【发布时间】:2010-11-17 10:51:17
【问题描述】:

我正在寻找可以重写渲染/绘图的 Python GUI 库。

它必须支持基本的小部件(按钮、组合框、列表框、文本编辑器、滚动条)、布局管理、事件处理

我正在寻找的是使用我的自定义 Direct3D 和 OpenGL 渲染器进行所有 GUI 的绘图/渲染。

S.Lott 建议的编辑:我需要将此 GUI 用于 3D 编辑器,因为我必须将很多东西从 GUI 元素拖放到 3D 渲染区域,我想使用一个 GUI 系统使用 Direct3D(首选)或 OpenGL 进行渲染。它还必须有一个漂亮的外观。使用像 WPF 这样的 GUI 很难实现这一点,因为 WPF 没有句柄。此外,它需要完全免费用于商业用途。

编辑:我还想在我的应用程序中使用我为 3d 部分初始化的渲染上下文

【问题讨论】:

  • @S.Lott:我考虑过 GTK 和 PyGTK,但覆盖渲染似乎相当困难。再加上它带来了很多依赖。我一直在寻找简单的东西
  • “它必须支持基本的小部件......布局管理,事件处理”与“我在寻找简单的东西”。我不认为你能找到两者。请用足够的信息更新您的问题,以便我们可以找出您在寻找什么。
  • 您能否实际提供您希望实现的 UI 的草图。我认为您在正常情况下并不需要您所要求的东西,即使是 3D 程序也是如此。

标签: python user-interface opengl directx


【解决方案1】:

我不知道你在做什么,所以也许这不是你想要的,但是: 您是否考虑过使用Blender + 它的游戏引擎?

它支持 Python 脚本,并提供一些 API 来创建“标准”GUI,同时允许您使用 3d 模型做很多很酷的事情。如果您的应用程序执行大量 3d 模型操作,这可能特别有用..

然后你可以为你需要的任何平台“编译”它(它只是构建包含所有依赖项的一体化包,方式类似于 py2exe 所做的)。

【讨论】:

    【解决方案2】:

    您可以将 Qt 场景框架与 OpenGL 渲染一起使用。诺基亚网站上有很多例子。

    【讨论】:

      【解决方案3】:

      最好的 Python GUI 工具包是 wxPython(也称为 wxWidgets)。

      这不仅仅是我的观点,另请参阅:wxPython quotes

      wxPython 是最好最成熟的 跨平台的 GUI 工具包,给定一个 约束的数量。唯一的原因 wxPython 不是标准的 Python GUI 工具包是 Tkinter 在那里 第一的。 ——吉多·范罗森

      我不能说添加自己的渲染器是容易还是困难。

      【讨论】:

      • 添加自己的渲染器并不难。
      【解决方案4】:

      Python 中有 OpenGL 绑定,可以为您提供 3D 渲染。就个人而言,我会使用 wxpython 作为您的“gui”管理器,并使用绑定来完成其余部分的 opengl。 Wx 有必要的演示(检查 wxpython 演示安装)和他们的 GLCanvas 演示中的信息。

      另一个示例代码也是here

      【讨论】:

      • 我还想在我的应用程序中使用我为 3d 部分初始化的渲染上下文
      • 我相信 OP 正在寻找一个轻量级的、纯逻辑的 GUI(即内部没有任何特定的渲染)。我看过一个并且有一个谷歌,但不幸的是,它显然不再出现了。
      【解决方案5】:

      您可能会发现PyClutter 很有用。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-06-19
        • 1970-01-01
        • 2023-04-10
        • 2011-02-06
        • 2014-09-27
        • 2017-06-09
        • 1970-01-01
        • 2022-01-10
        相关资源
        最近更新 更多