PyQt5 未检测到 Cosmographia window(Cosmoscripting 导入)

PyQt5 not detecting a Cosmographia window (Cosmoscripting import)

我正在尝试使用 Cosmographia 脚本创建 space 探测器飞越太阳系的视频,但脚本工具似乎不起作用。 我在将最新 Cosmographia 版本(版本 4.0)的 cosmoscripting 包导入 python.

时遇到问题

我认为问题可能与 PyQt5 库有关,但我以前从未真正使用过这个库。

这里是cosmoscripting.py

代码的开头
#import pyqt and swig wraper modules
from PyQt5.QtGui import *
from PyQt5 import QtCore as qtcore
from PyQt5.QtWidgets import QApplication
import time

# Find the scripting API object with its name in QT
widgets = QApplication.topLevelWidgets()
for widget in widgets:
    n = widget.objectName()
    if n == 'mainWindow':
        mainWindow = widget
children = mainWindow.children()      #This is where it crashes
for child in children:
    n = child.objectName()
    if n == 'scriptingApi':
        api = child

导入在第 13 行崩溃,因为函数 QApplication.topLevelWidgets() returns 是一个空列表。 Exception has occurred: NameError name 'mainWindow' is not defined

我认为这里发生的事情是导入试图找到要使用的 Cosmographia window 但由于某种原因 PyQt5 库看不到它。

有没有人遇到过类似的问题?您知道如何打开程序以便 PyQt5/Qt 检测到它吗?

cosmoscripting 脚本只能从程序中执行。

顶部菜单:菜单栏 > 文件 > 运行 脚本

事实证明,运行 script 选项在 Cosmographia 4.0 的 Windows 版本中缺失。但是,Linux 上的 运行 脚本有效。