无法从PyQt4导入QtGui
我在很多帖子中已经看到这个问题,但没有任何答案对我有帮助。 所以,这是我的问题。无法从PyQt4导入QtGui
我在窗户上。 我有蟒蛇3.6版本
1)我下载中心车轮文件(PyQt4中的PyQt4-4.11.4-CP36-cp36m-win_amd64.whl)有: http://www.lfd.uci.edu/~gohlke/pythonlibs/
而且我在这里保存的是:C: \用户\安妮 - 索菲•
2)我打开一个shell窗口admin和我运行 “PIP安装PyQt4-4.11.4-CP36-cp36m-win_amd64.whl”
安装似乎即使工作我收到消息:
Requirement 'PyQt4-4.11.4-cp36-cp36m-win_amd64.whl' looks like a filename, but the file does not exist
当我重新运行 “PIP安装PyQt4-4.11.4-CP36-cp36m-win_amd64.whl” 我仍然得到这个消息,但我也得到"Requirement already satisfied: PyQt4==4.11.4 from file:///C:/WINDOWS/system32/PyQt4-4.11.4-cp36-cp36m-win_amd64.whl in c:\users\anne-sophie\anaconda3\lib\site-packages"
3)现在,当我打开一个Python笔记本并写上“import PyQt4
”我没有得到任何错误。
但是,当我写from PyQt4 import QtGui
我得到的错误信息:ImportError: cannot import name 'QtGui'
4)我去C:\Users\Anne-Sophie\Anaconda3\Lib\site-packages\PyQt4
,我看到QtGui不是PyQt4中,但PyQt4中/ SIP所以我写from PyQt4.sip import QtGui
这是工作... 。
5)我去这个网站beginers与PyQt4的: https://pythonprogramming.net/basic-gui-pyqt-tutorial/
而且我写的:
import sys
from PyQt4.sip import QtGui
app = QtGui.QApplication(sys.argv)
我得到的错误:AttributeError: module 'PyQt4.sip.QtGui' has no attribute 'QApplication'
Finally here are my questions:
Q1: do you think that
Requirement 'PyQt4-4.11.4-cp36-cp36m-win_amd64.whl' looks like a filename, but the file does not exist
is a problem (step 2) if import PyQt4 is working?Q2: do you know what I am doing wrong? nobody is using
from PyQt4.sip import QtGui
so I am not sure that I should do it..... Moreover, even when I do it, I still get error when I go furtherQ3: does someone know how to make it work?
Q1:我认为你的错误消息('PyQt4-4.11.4-cp36-cp36m-win_amd64.whl' looks like a filename, but the file does not exist
),因为您从不同的目录下保存轮文件pip
命令,所以点无法找到车轮文件。它可能会继续并从Python Package索引中下载它,因为第二次运行Pip时,它说PyQt4已经安装。
Q2:不,您的进口报表中不应该有sip
。只要from PyQt4 import QtGui
应该工作。您的安装有问题。
Q3:问题是最有可能是您使用pip
旁边pyqt
包蟒蛇的安装PyQt4
(你可以检查此与conda list
命令)。你不能这样做PyQt。 Pip和Anaconda通常可以很好地协同工作,但是在PyQt的情况下,它们并不是因为软件包名称不同。
我建议您重新安装Anaconda,然后仅使用Anaconda安装PyQt。
也许你已经试过这个,但用pip去,因为PyQt4不适用于Python 3.6。如果你只想试试这个教程,你可以降级到Python 3.5。另一种选择是使用PyQt5。与PyQt4最大的区别在于QtGui
包已被拆分为QtWidgets
和QtGui
。因此,将示例翻译成PyQt5应该很容易。