我正在尝试使用PySide2
fromSpyder 3.2.8
和Python 3.6.4
Anaconda 中的macOS 10.13.4
.
尝试 N°1
在看到这个stackoveflow 页面和这个github 页面后,我将图形后端从更改Inline
为Automatic
in Python > Preferences > IPython Console > Graphics
,并尝试运行以下脚本(脚本 N°1):
脚本 N°1
import sys
from PySide2.QtWidgets import *
# Create a Qt application
app = QApplication.instance()
if app is None:
print("print something")
app = QApplication(sys.argv)
# Create a Label and show it
label = QLabel("Hello World")
label.show()
# Enter Qt application main loop
app.exec_()
但运行后收到以下错误消息:
Importing PySide2 disabled by IPython, which has
already imported an Incompatible QT Binding: pyqt5
这里有 matplotlib和ipython的类似报告问题,但它没有帮助我(或者我无法正确实现它)。然后我尝试通过以下方式更改脚本N°1来实现此页面关于qtpy的内容:
脚本 N°2
import os
os.environ['QT_API'] = 'pyside2'
from qtpy.QtWidgets import *
import sys
# Create a Qt application
app = QApplication.instance()
if app is None:
print("print something")
app = QApplication(sys.argv)
# Create a Label and show it
label = QLabel("Hello World")
label.show()
# Enter Qt application main loop
app.exec_()
尝试 N°2
在Inline
中选择Python > Preferences > IPython Console > Graphics
。当我运行脚本 N°2时,应用程序启动并print something
打印到控制台。关闭应用程序时,我进入Out[1]: 0
了控制台。但是,当我再次运行脚本时,控制台中没有出现错误消息,但应用程序的窗口没有出现
尝试 N°3
这次在Automatic
中选择Python > Preferences > IPython Console > Graphics
。当我第一次运行脚本 N°2时,应用程序没有启动并且我收到以下错误消息
/anaconda3/lib/python3.6/site-packages/qtpy/__init__.py:178: RuntimeWarning: Selected binding "pyside2" could not be found, using "pyqt5"
'using "{}"'.format(initial_api, API), RuntimeWarning)
Out[2]: -1
尝试 N°4
在Automatic
中选择Python > Preferences > IPython Console > Graphics
。当我将行从更改为后运行脚本 N°1PySide2.QtWidgets import *
时from PyQt5.QtWidgets import *
:应用程序没有启动,我收到以下错误消息
Out[1]: -1
尝试 N°5
在Inline
中选择Python > Preferences > IPython Console > Graphics
。当我将行从更改为 后运行脚本 N°1PySide2.QtWidgets import *
时from PyQt5.QtWidgets import *
:应用程序启动并print something
打印到控制台。我关闭了应用程序并进入Out[1]: 0
了控制台。但是,当我再次运行脚本时,控制台中没有出现错误消息,但应用程序的窗口没有出现
注意这个问题是那个问题的延续