Pyqtgraph - правильный порядок импорта операторов? - PullRequest
0 голосов
/ 10 октября 2018

Вопрос в названии.В приведенном ниже импорте следует ли импортировать QtCore и QtGui из pyqtgraph или PyQt5?

Мой код работает нормально, но, глядя на это, у меня плохое чувство кода - я не уверен, как pyqtgraph исправляет pyqt5 и каков лучший метод,

from PyQt5.QtWidgets import QWidget, QDesktopWidget, QApplication, QLabel, QMainWindow, QHBoxLayout, QVBoxLayout, QSplitter, QFrame,  QSizePolicy
from PyQt5.QtCore import QThread, QObject, QTimer, pyqtSlot, pyqtSignal


from pyqtgraph import PlotWidget
from pyqtgraph.Qt import QtCore, QtGui

1 Ответ

0 голосов
/ 10 октября 2018

Из любого, pyqtgraph обнаруживает, импортировали ли вы PyQt5, и устанавливает его как бэкэнд.Файл Qt.py отвечает за управление этой логикой.

Например, легко проверить, что модуль, импортируемый pyqtgraph, совпадает с PyQt5, если PyQt5 импортирован изначально.

from PyQt5 import QtCore as PyQt5QtCore
from PyQt5 import QtGui as PyQt5QtGui
from PyQt5 import QtWidgets as PyQt5QtWidgets

from pyqtgraph.Qt import QtCore as pgQtCore
from pyqtgraph.Qt import QtGui as pgQtGui
from pyqtgraph.Qt import QtWidgets as pgQtWidgets

assert(pgQtCore == PyQt5QtCore)
assert(pgQtGui == PyQt5QtGui)
assert(pgQtWidgets == PyQt5QtWidgets)
...