如何在 Qt GUI 中嵌入 vpython 绘图(动画)?这样它就有了自己的显示区域,不需要再创建一个新的窗口。
请您参考如下方法:
vpython 的 FAQs声称 vpython 的体系结构使任何嵌入成为问题...:
问:有没有办法将 VPython 嵌入到另一个环境中?
This is difficult because VPython has two threads, your computational thread and a rendering thread which about 25 times per second paints the scene using the current attributes of the graphics objects. However, Stef Mientki has managed to embed VPython in a wxPython window on Windows; see the contributed section.
因此,如果使用 wxPython 需要付出巨大的努力(“已经成功”听起来不是微不足道的成就;-)并且只能在单一平台上工作,我担心 Qt 不会更容易......在每个平台上分别进行一次艰苦的、艰难的跋涉。
如果你准备好迎接一个严峻的挑战,对 vpython 非常熟悉,对 Qt 相当熟悉,并且熟悉你关心的所有平台上的底层窗口级架构(并且辅修 wxPython),那么这里开始是 Mientki的惊人贡献。他实际上在 wxPython 的抽象级别以下工作,并且在 win32gui 调用、win32con 常量以及“有限状态机,由 wx.Timer 计时”方面100 毫秒(尽管他承认后者的 Frankenstein 手术的结果是……“不完美”;-)。极其相似的方法应该让您在 Windows 上的任何其他框架(包括 Qt)上回家(以类似的“不完美”的方式)。
但是,还没有人向 Mac OS X 提供任何端口,也没有向 Linux 和类 Unix 架构上流行的许多窗口管理器提供任何端口(我不确定是否可以仅在 xlib 上实现这一壮举级别——窗口装饰方面似乎确实涉及,在 X11 世界中,这些确实需要窗口管理器合作)。
因此,您问题的字面答案是,“大量工作需要大量技能和/或令人难以置信的毅力,并且可能以依赖于平台的方式进行,需要在每个感兴趣的平台上重做” ......很抱歉成为坏消息的传播者,但我更愿意这样称呼他们。
