Pyqtgraph - 导入语句的正确顺序?

Pyqtgraph - correct order of import statements?

标题中的问题。在下面的导入中,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

pyqtgraph 检测您是否导入了 PyQt5 并将其建立为后端。 Qt.py file 负责管理这个逻辑。

比如最初导入PyQt5,很容易验证pyqtgraph导入的模块是否与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)