首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在pyqt中未定义Qurl

在pyqt中未定义Qurl
EN

Stack Overflow用户
提问于 2011-12-11 15:45:19
回答 2查看 4.4K关注 0票数 1

我正在学习使用eric ide用qt编写python程序。但似乎有一个错误我得到了。

它说Global Qurl没有定义或者别的什么。如何定义Qurl?

代码语言:javascript
复制
from PyQt4.QtGui import QMainWindow

from PyQt4.QtCore import pyqtSignature
from Ui_mainwindow import Ui_MainWindow

class MainWindow(QMainWindow, Ui_MainWindow):
    """
    Class documentation goes here.
    """
    def __init__(self, parent = None):
        """
        Constructor
        """
        QMainWindow.__init__(self, parent)
        self.setupUi(self)

    @pyqtSignature("")
    def on_btnNavigate_released(self):
        """
        Public slot invoked when the user clicks the Navigate Button .
        """
        self.webView.load(QUrl("http://qt.nokia.com/"));

我正在关注this教程

EN

回答 2

Stack Overflow用户

发布于 2011-12-12 02:56:23

您发布的代码大部分是由Eric4集成开发环境自动生成的,作为您发布链接的教程的一部分。

如果您仔细阅读本教程的this page,它会在on_btnNavigate_released方法的代码片段后面的段落中提到导入QUrl (靠近页面底部):

请注意,要使其正常工作,我们必须导入QUrl (请查看教程附带的源代码)。

不过,为了公平起见,源代码片段实际上并没有显示相关的导入行!它可能看起来更像这样:

代码语言:javascript
复制
from PyQt4.QtCore import pyqtSignature, QUrl
...

@pyqtSignature("")
def on_btnNavigate_released(self):
    """
    Slot documentation goes here.
    """
    self.webView.setUrl(QUrl(self.txtUrl.text()))
票数 3
EN

Stack Overflow用户

发布于 2011-12-11 15:58:14

你没有从任何地方导入QUrl。执行以下操作:

代码语言:javascript
复制
from PyQt4.QtCore import *

请注意,您也可以只从QtCore导入QUrl,但这里的*导入很常见,因为QtCore很大,并且所有类都有Q前缀,因此不难猜测它们来自哪里。这当然是一个风格问题,但就我个人而言,我确实使用从QtCoreQtGui导入的*。PyQt图书示例也做了同样的事情。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8462606

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档