Невозможно переместить окно графика Matplotlib и выйти из него с помощью кнопки красного X

Я запускаю Python v3.5 и matplotlib v1.4.3 в Windows 10 Home . До недавнего времени я пишу скрипт python с помощью matplotlib с PyQt GUI. Код « plt.show() » будет записан в другом модуле, а не __main__ . Когда я запускаю этот код, Matplotlib figure нельзя переместить и выйти с помощью красной кнопки X в верхней части правой части рисунка. Странно, диаграмма показана, и она действительно хорошо работает.

Заговор Matplotlib

Почему этот симптом происходит? и как я могу его пересмотреть?

One Solution collect form web for “Невозможно переместить окно графика Matplotlib и выйти из него с помощью кнопки красного X”

Я наткнулся на подобную проблему. Это связано с тем, что ваш показатель matplotlib и ваш графический интерфейс PyQt работают в одном и том же главном потоке. Поскольку они находятся в основном потоке, только один из них имеет процессор для себя.

Я попытался решить проблему, поставив либо PyQT GUI, либо matplotlib внутри другого потока. Но это не работает. И PyQT, и matplotlib должны запускаться в основном потоке.

Итак, вот обходной путь. Вы можете запустить фигуру matplotlib из недавно созданной оболочки python:

 import subprocess ... # When you click the button in your PyQT GUI, # Create a new process: myMatProcess = subprocess.Popen(['python', 'myGraph.py'], shell=True) 

Теперь ваш графический интерфейс PyQT и рисунок matplotlib, который вы рисуете, имеют собственную оболочку интерпретатора python. И они могут работать бесперебойно, не блокируя друг друга.

Если у вас есть дополнительные вопросы, не стесняйтесь спрашивать. Я был бы рад помочь вам.

  • QFileDialog как редактор для TableView: как получить результат?
  • Печать текста через принтер с помощью PyQt4
  • Эффективное управление Thumbnail изображениями для Python?
  • Воспроизведение потоков MMS в Python
  • Рисование многоугольника в PyQt
  • Ошибка сегментации (сброс ядра), выполнение потока
  • Можно ли встроить виджет C ++ в приложение PyQt?
  • Как правильно завершить QThread из приложения GUI?
  • PyQt4 QProcess всегда 0, различные слоты тоже не работают
  • Воспроизведение mp3 с использованием Python, PyQt и Phonon
  • Как получить исходные данные python из QVariant
  • Python - лучший язык программирования в мире.