Pyqtgraph - правильный порядок импорта операторов?

1

Вопрос в названии. В нижеприведенных импортных условиях следует импортировать 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
Теги:
pyqt5
pyqt
pyqtgraph

1 ответ

2
Лучший ответ

Из любого из них 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)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню