我正在学习使用eric ide用qt编写python程序。但似乎有一个错误我得到了。
它说Global Qurl没有定义或者别的什么。如何定义Qurl?
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教程
发布于 2011-12-12 02:56:23
您发布的代码大部分是由Eric4集成开发环境自动生成的,作为您发布链接的教程的一部分。
如果您仔细阅读本教程的this page,它会在on_btnNavigate_released方法的代码片段后面的段落中提到导入QUrl (靠近页面底部):
请注意,要使其正常工作,我们必须导入QUrl (请查看教程附带的源代码)。
不过,为了公平起见,源代码片段实际上并没有显示相关的导入行!它可能看起来更像这样:
from PyQt4.QtCore import pyqtSignature, QUrl
...
@pyqtSignature("")
def on_btnNavigate_released(self):
"""
Slot documentation goes here.
"""
self.webView.setUrl(QUrl(self.txtUrl.text()))发布于 2011-12-11 15:58:14
你没有从任何地方导入QUrl。执行以下操作:
from PyQt4.QtCore import *请注意,您也可以只从QtCore导入QUrl,但这里的*导入很常见,因为QtCore很大,并且所有类都有Q前缀,因此不难猜测它们来自哪里。这当然是一个风格问题,但就我个人而言,我确实使用从QtCore和QtGui导入的*。PyQt图书示例也做了同样的事情。
https://stackoverflow.com/questions/8462606
复制相似问题