Я недавно смотрел дистрибутив Enthought iPython. Сегодня я решил посмотреть, могу ли я запустить некоторые програмы Qt GUI и был успешным после внесения незначительных изменений. Простой пример:Enthought Canopy - передача sys.argv из программы PySide Qt
import sys
from PySide import QtGui # was 'from PyQT4 import QtGui'
# app = QtGui.QApplication(sys.argv) -- not needed
win = QtGui.QWidget()
win.resize(320, 240)
win.setWindowTitle("Hello MIT 6X!")
win.show()
sys.exit() # was 'sys.exit(app.exec_())'
Но я хотел бы быть в состоянии пройти sys.argv
в некоторых случаях. В большинстве случаев код, который я вижу, находится в форме пропущенной строки 'app = '
выше. Если я включу его, я получу
'RuntimeError: A QApplication instance already exists.'
Предложения по оценке переданных аргументов.
Вы пытаетесь запустить Qt-программу из * внутри * IPython-терминала? Если да, то как аргументы командной строки могут иметь какое-либо значение для вашей программы? –
Да - спасибо. Я пришел к такому выводу, потратив большую часть последних 3 часов на просмотр документации, и после прочтения вашего комментария попробовал его в оболочке IDLE, которую Enthought также настраивает, и, похоже, делает то, что я хочу оттуда. Я просто должен помнить, чтобы использовать IDLE вместо редактора кода Canopy, изучая Qt. – user2541559
Вы также можете просто запустить из командной строки: 'python my_file.py' Таким образом, неважно, на что вы пишете свой код (любой текстовый редактор, IDLE, что угодно) –