【问题标题】:Is there a Python reusable component that is like the Blender node editor? [closed]是否有类似于 Blender 节点编辑器的 Python 可重用组件? [关闭]
【发布时间】:2014-03-18 13:41:21
【问题描述】:

Blender 有一个功能强大、使用有趣、灵活的节点编辑器:

是否有 Python 库可以让我轻松创建这样的可视化开发环境?在 Blender 中,节点编辑器与着色器、图像、颜色等一起使用,我想自己定义节点、套接字和预览小部件的类型,就像构建“视觉 DSL”一样。

编辑:我不想在 Blender 中创建自定义节点,而是在我自己的项目中使用像节点编辑器这样的组件。我删除了 Blender 标签以避免混淆。

【问题讨论】:

  • 正如彼得的回答所建议的那样:为什么不使用 Blender 本身呢?所有的用户界面都准备好了。您只需检查文档以了解如何创建将在节点视图上打开的文件,并且您所需的节点已经到位。
  • 这似乎是一个很大的开销,尤其是因为我的项目将属于一个完全不同的域。
  • 我想你正在寻找这个:github.com/FMichelD/PyQt5Nodes
  • “libgtkflow 支持 GObject-Introspection,这意味着您可以在各种流行语言中使用它,包括但不限于:Python、 Perl、Lua、 JS,PHP。我在示例文件夹中编译了一些关于如何在 Python 中针对库进行编程的示例。随意添加您最喜欢的语言的示例。” (source) 图书馆比这个问题年轻 2 岁。 Inspired by Blender.

标签: python reusability visual-programming


【解决方案1】:

您可以在文档中找到如何做到这一点:

http://wiki.blender.org/index.php/User:Phonybone/Python_Nodes

如果您想使用节点以程序方式构建对象和网格,那么我建议您使用和/或分叉并改进此项目:

http://wiki.blender.org/index.php/Extensions:2.6/Py/Scripts/Nodes/Sverchok

(这些人也在使用上面链接的 API)

如果你有 blender 特定的问题,比如这样,我也建议你在这个 blender 专用堆栈交换网站上提问:

https://blender.stackexchange.com/


编辑:

据我所知,在任何 UI 库中都没有任何预制的节点编辑器小部件或类似的东西。然而,实现基本的矩形、输入和输出端口以及连接它们的贝塞尔线非常容易。在第一步之后,您在设计和较小的细节上投入多少小时只是一个偏好问题。

我在 Python 中使用内置的 tkinter 库实现了我自己的:

然后在Pyglet 之后,为了提高速度,我在纯 C 中实现了它,并用 Cython 封装了 OpenGL 以供 Python 使用:

【讨论】:

  • 对不起,我不想在 Blender 中创建自定义节点。请查看编辑,感谢您的回答
  • 感谢您的详细回答,但我有点犹豫是否接受它,因为它基本上是“不知道”。但是我猜如果我的问题的答案是“不存在”,那么我会在没有其他建议出现的情况下接受它。
  • 很公平,谢谢!
  • 好的,谢谢。我想我必须自己动手:)
  • 嗨@PeterVaro,我对你的图形用户界面设计很感兴趣,包括节点和贝塞尔曲线。这正是我想要的。我真的是 Python 和 Tkinter 的新手,我找到了一些很好的教程,当然我检查了文档,但我没有找到任何接近你的东西。你能给我一些建议吗?非常感谢。
猜你喜欢
  • 2011-03-19
  • 1970-01-01
  • 2010-11-27
  • 2010-12-09
  • 1970-01-01
  • 2023-03-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多