Closed
Description
I have found a solution to a bug when using the script on:
https://matplotlib.org/gallery/user_interfaces/embedding_in_qt_sgskip.html
with the Spyder IDE (v3.3.2)
If the script is run as presented, two issues are present:
Issue 1: The qapp.exec_() does not terminate when the window is closed.
This was resolved for me by adding:
QtWidgets.QApplication.setQuitOnLastWindowClosed(True)
before qapp.exec_() is called:
if not QtWidgets.QApplication.instance():
qapp = QtWidgets.QApplication(sys.argv)
else:
qapp = QtWidgets.QApplication.instance()
QtWidgets.QApplication.setQuitOnLastWindowClosed(True)
app = ApplicationWindow()
app.show()
qapp.exec_()
Issue 2: When this script is called multiple times in the IPython console, the Kernel dies and must be restarted. Per the comment thread on issue #4349, this is solved by replacing:
qapp = QtWidgets.QApplication(sys.argv)
with
if not QtWidgets.QApplication.instance():
qapp = QtWidgets.QApplication(sys.argv)
else:
qapp = QtWidgets.QApplication.instance()
Can this be added to the example script?
Matplotlib version
- Operating system: Windows 10
- Matplotlib version: 3.0.2
- Python version: 3.7
Metadata
Metadata
Assignees
Labels
Open a pull request against these issues if there are no active ones!Open a pull request against these issues if there are no active ones!