导入的模块但仍需要使用全名

时间:2016-12-11 05:48:28

标签: python pyqt

我已经能够从PyQt5成功导入QtWidgets,这在代码中运行良好但是如果我在调用中没有使用完整的QtWidgets名称,我会收到错误。以下是......

import sys
from PyQt5 import  QtWidgets

app = QtWidgets.QApplication(sys.argv)

然而,如果......

import sys
from PyQt5 import  QtWidgets

app = QApplication(sys.argv)

我明白了......

NameError:名称'QApplication'未定义

2 个答案:

答案 0 :(得分:5)

您误解了Python import语句的工作原理。在Python中导入模块时,只有直接导入的模块包含在本地符号表中。

因此,如果您尚未直接导入名称,则不能将其用作当前名称空间中的独立标识符。如果您需要此行为,请直接从QApplication命名空间导入QtWidgets名称:

from PyQt5.QtWidgets import QApplication

答案 1 :(得分:0)

像这样导入模块:

import sys
from PyQt5.QtWidgets import *

app = QApplication(sys.argv)