我正在学习使用eric ide通过qt编程python。但是我似乎有一个错误。

它说全局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教程

最佳答案

在您发布链接的教程中,您发布的代码大部分由Eric4 IDE自动生成。

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


  注意,要使此方法起作用,我们必须导入QUrl(请看一下教程随附的源代码)。


虽然,公平地说,源代码片段实际上并未显示相关的导入行!它可能看起来应该像这样:

from PyQt4.QtCore import pyqtSignature, QUrl
...

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

关于python - pyqt中未定义的Qurl,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8462606/

10-12 18:18