Как запустить прокручиваемое окно в al oop в python? - PullRequest
0 голосов
/ 05 августа 2020

Я использую приведенный ниже код и обращаюсь к нему через "a = ScrollableWindow (fig)" -> это выполняется в al oop, поэтому ожидается создание windows при этом вызове, он создает два windows и завершается со следующим:

QGuiApplication :: font (): нет экземпляра QGuiApplication и не установлен шрифт приложения. QGuiApplication :: font (): нет экземпляра QGuiApplication и не установлен шрифт приложения.

import matplotlib
matplotlib.use('Qt5Agg')
import matplotlib.pyplot as plt
from PyQt5 import QtWidgets
from matplotlib.backends.backend_qt5agg import FigureCanvasQTAgg as FigureCanvas
from matplotlib.backends.backend_qt5agg import NavigationToolbar2QT as NavigationToolbar

class ScrollableWindow(QtWidgets.QMainWindow):
    def __init__(self, fig):
        self.qapp = QtWidgets.QApplication([])

        QtWidgets.QMainWindow.__init__(self)
        self.widget = QtWidgets.QWidget()
        self.setCentralWidget(self.widget)
        self.widget.setLayout(QtWidgets.QVBoxLayout())
        self.widget.layout().setContentsMargins(0,0,0,0)
        self.widget.layout().setSpacing(0)

        self.fig = fig
        self.canvas = FigureCanvas(self.fig)
        self.canvas.draw()
        self.scroll = QtWidgets.QScrollArea(self.widget)
        self.scroll.setWidget(self.canvas)

        self.nav = NavigationToolbar(self.canvas, self.widget)
        self.widget.layout().addWidget(self.nav)
        self.widget.layout().addWidget(self.scroll)

        self.show()
        self.qapp.exec_()


#Main
###someCode###
#loop#
  a = ScrollableWindow(fig)
#endloop#
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...