2013-06-30 213 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