我最近一直在寻找iPython的Enthought发行版。今天我决定查看是否可以运行一些Qt GUI程序,并在做出较小更改后成功。简单的例子:Enthought Canopy - 从PySide Qt程序中传递sys.argv
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.'
传递参数的建议表示赞赏。
你是否试图从IPython终端内的*运行Qt程序?如果是这样,命令行参数对您的程序有什么意义? –
是的 - 谢谢。我在花了大部分时间阅读文档之后花了很多时间才得出这个结论,并且在阅读您的评论之后,在Enthought也设置的IDLE shell中尝试了它,并且它似乎按照我想要的那样做。我只需要记住在学习Qt时使用IDLE而不是Canopy代码编辑器。 – user2541559
你也可以直接运行命令行:'python my_file.py'这样不管你写什么代码(任何文本编辑器,空闲,任何) –