Python QApplication';没有定义

Python QApplication';没有定义,python,qt,pyqt,Python,Qt,Pyqt,我从下载了下面的脚本 我收到以下错误消息:NameError:未定义名称“QApplication” 我添加了脚本的前两行。 这没有帮助。 我想也许我没有安装qt。但是当我试图运行PyQt4-4.10.3-gpl-Py2.7-Qt4.8.5-x32.exe时,程序告诉我它已经安装好了 有人有什么建议吗 马克 我猜导入是错误的,应该是: from PyQt4.QtCore import * from PyQt4.QtGui import * 如果您按顺序阅读本教程,您会看到,在本系列中,您在每个

我从下载了下面的脚本 我收到以下错误消息:NameError:未定义名称“QApplication”

我添加了脚本的前两行。 这没有帮助。 我想也许我没有安装qt。但是当我试图运行PyQt4-4.10.3-gpl-Py2.7-Qt4.8.5-x32.exe时,程序告诉我它已经安装好了

有人有什么建议吗

马克


我猜导入是错误的,应该是:

from PyQt4.QtCore import *
from PyQt4.QtGui import *

如果您按顺序阅读本教程,您会看到,在本系列中,您在每个片段的开头都展示了需要分割的内容,以使其成为可运行的程序。显然,作者这样做是为了使相同的代码可以同时用于PyQt和PySide

因此,如果您使用的是PyQt4,则需要添加以下内容:

# Allow access to command-line arguments
import sys

# SIP allows us to select the API we wish to use
import sip

# use the more modern PyQt API (not enabled by default in Python 2.x);
# must precede importing any module that provides the API specified
sip.setapi('QDate', 2)
sip.setapi('QDateTime', 2)
sip.setapi('QString', 2)
sip.setapi('QTextStream', 2)
sip.setapi('QTime', 2)
sip.setapi('QUrl', 2)
sip.setapi('QVariant', 2)

# Import all of Qt
from PyQt4.Qt import *
如果是PySide:

# Allow access to command-line arguments
import sys

# Import the core and GUI elements of Qt
from PySide.QtCore import *
from PySide.QtGui import *
在展示这个样板的方框下面,有一个很好的、可读的解释,解释了这一切的含义以及为什么需要这样做

但是,我建议如果你想从一个教程中学习,你就从一开始就开始工作,而不是从中间开始,试图找出你错过了什么。
如果您只是从PyQt4导入QtGui、QtCore而不是从它们导入
*
,则这些模块中的名称可用,但仅作为限定名称。也就是说,您必须编写
QtCore.QApplication
,而不是
QApplication


如果您不理解其中的区别,请阅读官方Python教程或其他类似内容,了解导入的工作原理。

该代码似乎不是一个完整的示例,而是一段代码。本教程可能会解释您需要向每个片段添加什么,以便在前面跳过的步骤中使其可运行。如果没有,你应该对文章发表评论,让作者知道有问题,这样他就可以告诉你如何解决。你的回答非常有启发性,非常感谢。
# Allow access to command-line arguments
import sys

# Import the core and GUI elements of Qt
from PySide.QtCore import *
from PySide.QtGui import *