在我gui.py模塊我有:如何導入已導入另一個文件的Python模塊?
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_Dialog(object):
...
如何正確地從我的main.py該模塊導入的一切,而不from gui import *
我應該再次使用我的from PyQt5 import QtCore ...
或from gui import QtCore ...
?
在我gui.py模塊我有:如何導入已導入另一個文件的Python模塊?
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_Dialog(object):
...
如何正確地從我的main.py該模塊導入的一切,而不from gui import *
我應該再次使用我的from PyQt5 import QtCore ...
或from gui import QtCore ...
?
一般情況下,你不應該從它本身只是其導入模塊導入的東西:
# gui.py
from PyQt5 import QtCore, QtGui, QtWidgets
def some_function():
pass
,那麼你應該做的:
# main.py
from PyQt5 import QtCore, QtGui, QtWidgets
from gui import some_function
唯一的例外是聚集__init__.py
文件出於方便原因從其子模塊獲取模塊:
# some_module/__init__.py
from .submodule import some_function
from .other_submodule import some_other_function
然後
# main.py
from .some_module import some_function, some_other_function
由於the're不gui
提供的模塊,你應該直接從PyQt5
導入。
我也有gui模塊中的其他類。 –
那些你需要從'gui'導入。但不要通過'gui'從其他模塊導入類。 –
你應該把每個python模塊當作獨立的模塊,每一個python模塊都需要導入才能工作。 Python然後聰明的東西來緩存模塊,並避免兩次編譯它們。所以簡短的回答包括所有使用它的模塊中的PyQt導入。 –