#python #qt #pyqt5 #importerror
Вопрос:
Я пытаюсь использовать сценарии Cosmographia для создания видео космических зондов, пролетающих через Солнечную систему, но инструмент сценариев, похоже, не работает. У меня возникли проблемы с импортом пакета cosmoscripting для последней версии Cosmographia (версия 4.0) в 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()
возвращает пустой список. Exception has occurred: NameError name 'mainWindow' is not defined
Я думаю, что здесь происходит то, что импорт пытается найти окно Cosmographia для работы, но по какой-то причине библиотека PyQt5 его не видит.
Кто-нибудь сталкивался с подобной проблемой? Знаете ли вы, как открыть программу так, чтобы PyQt5/Qt обнаружил ее?
Комментарии:
1. Из того, что я могу понять, вы можете использовать этот интерфейс python только из программы, а не извне. Вы пытаетесь импортировать этот модуль из отдельного скрипта?
2. Спасибо, что указали мне правильное направление. Возможность запуска сценария отсутствует в версии Cosmographia для Windows, но она есть в версии Linux. Я думаю, я просто буду использовать Linux.
Ответ №1:
Сценарии космоскриптирования могут быть выполнены только из программы.
Верхнее меню: Строка меню > Файл >> >>Запустить скрипт
Оказывается, опция Запуска сценария отсутствует в версии Cosmographia 4.0 для Windows. Однако запуск сценариев в Linux работает.