How to import from Qt:: namespase (Qt5, Python3.x)?
对于我的应用程序,我需要设置一些小部件参数,如对齐(
使用此代码
1 2 3 4 | from PyQt5 import Qt progressBar = QProgressBar(splash) progressBar.setAlignment(Qt.AlignBottom) |
我有以下错误:
1 2 3 4 5 6 | Traceback (most recent call last): File"run_app.py", line 50, in <module> runSemApp(sys.argv) File"run_app.py", line 32, in runSemApp progressBar.setAlignment(Qt.AlignBottom) AttributeError: 'module' object has no attribute 'AlignBottom' |
使用这一个可以:
1 2 3 4 | from PyQt5.Qt import * progressBar = QProgressBar(splash) progressBar.setAlignment(Qt.AlignBottom) |
虽然我有工作解决方案,但我只想进口
我认为这里的混淆在于Pyqt有一个称为
在第一个示例中,可以使用外观有些奇怪的
你可以做到这一点
1 2 3 4 | >>> from PyQt5.QtCore import Qt >>> Qt.AlignBottom 64 >>> |
您不能导入
所以这不管用
1 2 3 4 5 6 7 8 9 10 | import PyQt5.QtCore.Qt ImportError: No module named 'PyQt5.QtCore.Qt'; 'PyQt5.QtCore' is not a package >>> import PyQt5.QtCore >>> QtCore <module 'PyQt5.QtCore' from '/usr/lib/python3.5/site-packages/PyQt5/QtCore.so'> >>> import PyQt5 >>> PyQt5 <module 'PyQt5' from '/usr/lib/python3.5/site-packages/PyQt5/__init__.py'> >>> |
从输出中可以看出,
1 2 | >>> from PyQt5.QtCore import Qt >>> help(Qt) |
另一方面,pyqt5是一个包(包含其他模块的文件夹),指向它的
我建议你阅读模块上的文档以及这个问题。