lawrence1357 发表于 2023-7-19 01:07:04

import问题,求解,谢谢

import sys
from PyQt6 import QtWidgets

app = QtWidgets.QApplication(sys.argv)

----------------------------------------------------------------------------
为什么这样导入没问题,但是
----------------------------------------------------------------------------
import sys
import PyQt6

app = PyQt6.QtWidgets.QApplication(sys.argv)

AttributeError: module 'PyQt6' has no attribute 'QtWidgets'

----------------------------------------------------------------------------
这样导入就不行呢???

isdkz 发表于 2023-7-19 06:20:21

from PyQt6 import QtWidgets这样的导入方式是特定导入,你明确的告诉Python你要从PyQt6模块中导入QtWidgets这个部分。因此你可以直接使用QtWidgets.QApplication(sys.argv) 。

而import PyQt6是一种更泛化的导入方式,你告诉Python你想要导入PyQt6模块,但并没有明确要使用该模块的哪个具体部分。因此,当你试图访问PyQt6.QtWidgets时,Python告诉你PyQt6模块并没有名为 "QtWidgets" 的属性。这是因为 "QtWidgets" 实际上是PyQt6模块的子模块,并不是其属性,所以你无法通过PyQt6.QtWidgets的方式访问它。


如果你想要用第二种导入方式也能实现相同的效果,那么你应该使用import PyQt6.QtWidgets这样的导入方式,然后你就可以通过PyQt6.QtWidgets.QApplication(sys.argv)的方式创建 QApplication 对象了。

lawrence1357 发表于 2023-7-19 17:50:28

isdkz 发表于 2023-7-19 06:20
from PyQt6 import QtWidgets这样的导入方式是特定导入,你明确的告诉Python你要从PyQt6模块中导入QtWid ...

好的,感谢
页: [1]
查看完整版本: import问题,求解,谢谢