2013-06-30 351 views
5

是否有某些原因,QtGui与PyQt5打包?PyQt5和QtGui模块没有找到

我正在使用Mark Summerfield的Rapid GUI编程手册。显然这本书是用Qt4编写的,但我被推荐使用Qt5和PyQt5。我想在第4章中的代码开头以下import语句运行第一个示例代码:

import sys 
import time 
from PyQt5.QtCore import * 
from PyQt5.QtGui import * 

到的编译器响应:

Traceback (most recent call last): 
    File "wakeUp.py", line 4, in <module> 
    from PyQt5.QtGui import * 
ImportError: No module named 'PyQt5.QtGui' 

注意,PyQt5.QtCore import语句呢不会产生错误。

从终端,

$ echo $PYTHONPATH 
:/usr/lib/python3.3/site-packages 

有其他人碰到这种进口错误QtGui?

从一个交互式会话,我可以

>>> import PyQt5.Qt 
>>> import PyQt5.QtDBus 
>>> import PyQt5.QtNetwork 
>>> import PyQt5.QtXmlPatterns 

但是我没有QtWidgets,QtGui,QtWebKit的,QtDesigner,和其他几个人。

而且,如果它是有帮助的,/usr/lib/python3.3/site-packages/PyQt5的内容是:

__init__.py QtCore.so QtDBus.so QtNetwork.so Qt.so QtXmlPatterns.so uic 

这是我能够导入相同的模块。其他模块(QtWidgets,QtGui等)也应该在这里吗?

我使用的是Ubuntu 13.04和Python 3.3。

+0

可能你应该使用PyQt5.QtWidgets而不是QtGui?看[这个例子](http://pyqt.sourceforge.net/Docs/PyQt5/python_shell.html)。 –

+0

是的,我已经看到了。不幸的是QtWidgets也给出了相同的导入错误。 – ADB

+0

如果来自文档的示例不起作用,则pyqt安装错误或不完整。请提供一些关于您的操作系统和pyqt安装的信息。 –

回答

1

问题是当我运行PyQt5配置脚本。通过正确的选项是这样的:

> python3 configure.py --qmake [path to Qt5.x]/bin/qmake 

我提供的路径可达斌,但并没有具体指向qmake的。去搞清楚!

运行这样的配置脚本后,我就能够导入所有PyQt5模块。

-3

PyQt5QtGuiQtCore位于进QtWidgets

你应该导入这样的:

from PyQt5.QtWidgets import QtGui, QtCore 

,而不是

from PyQt5.QtCore import * 
from PyQt5.QtGui import * 

希望这有助于。 :)

+1

嗨,在PyQt5,你从PyQt5.QtWidgets导入QtGui,QtCore'下面的代码返回这个错误ImportError:无法导入名称QtGui – Rhys

+1

@Rhys检查您使用的是PyQt5或PyQt4。此解决方案仅适用于PyQt5。 –

+0

** PyQt5.5.1和Qt5.6 **:'从PyQt5.QtWidgets导入QtGui,QtCore' => * ImportError:无法导入名称'QtGui *'。这工作:'从PyQt5.QtWidgets导入QWidget'和 '进口PyQt5.QtCore为QtCore'。如果你真的需要QtGui模块:'将PyQt5.QtGui导入为QtGui' – 7stud

3

当第一次尝试PyQt4的和pyqt5和pycharm IDE我曾与进口很多问题。 (虽然导入没有从IDLE运行的问题)最终经过大量填充,卸载和重新安装(包括依赖关系)后,导入将它们排序。

你安装pyqt5使用安装程序从PyQt的网站?你必须。 在Windows的开始菜单下找到Qt designer。 当以下PyQt4的教程,我不得不使用PyQt5以下import语句运气...

from PyQt4 import QtCore, QtGui #in the pyqt4 tutorials 
from PyQt5 import QtCore, QtGui, QtWidgets #works for pyqt5 

我是新来的自己,但PyQt4中,QtWidget是QtGui(QtGui.QtWidget)的一部分, pyqt5它被自己导入为QtWidgets。它只是一个小小的代码变化,可以让pyqt4教程在pyqt5中运行。

我亲自去回PyQt4的采取pyqtgraph的优势。

看看我PyQt4的发布here它帮助您使用Qt设计。

2

配置PyQt的这个命令:

python[3] configure.py --qmake=[path to Qt5.x]/bin/qmake --verbose

无论是QT模块建立或不依赖于configure.py的检查。 看看端子输出,你会发现为什么QtGui..QtWidgets未正确安装的原因。

+0

!我没有安装GL库,所以QtGui没有构建。一个'sudo apt install libgl-dev'为我做了诀窍 - 在配置之后正确设置了一切。 –

-3

我类似的错误的排序是由未完全完成PySide安装引起的。这固定它对我来说:

$ pyside_postinstall.py -install 
+1

OP询问关于“PyQt5”导入的问题,并且您提供关于PySide的建议,这是顺便说一句。不支持'Qt5'。 – rbaleksandar