python - QtWebkit:loadFinished 和 loadProgress 槽永远不会执行

标签 python qt pyqt qtwebkit

这是我正在尝试的 Webkit 的基本 PyQt 代码。

import sys
from PyQt4.QtCore import *
from PyQt4.QtGui import *
from PyQt4.QtWebKit import *
from PyQt4.QtNetwork import *

class XPrinter(QObject):

    def __init__(self):
        QObject.__init__(self)

    def print_page_info(self, ok):
        print ok

    def print_load_started(self):
        print 'started loading'

    def print_load_percent(self, percent):
        print percent


app = QApplication(sys.argv)

web = QWebView()
xprinter = XPrinter()
QObject.connect(web, SIGNAL("loadFinished()"), xprinter.print_page_info)
QObject.connect(web, SIGNAL("loadStarted()"), xprinter.print_load_started)
QObject.connect(web, SIGNAL("loadProgress()"), xprinter.print_load_percent)
web.load(QUrl("http://www.gnu.org"))
web.setWindowState(Qt.WindowMaximized)
web.show()

sys.exit(app.exec_())

我面临的问题是槽 loadFinished 和 loadProgress 从未执行。请告诉我哪里做错了?

最佳答案

尝试使用新的 style signals

import sys
from PyQt4.QtCore import *
from PyQt4.QtGui import *
from PyQt4.QtWebKit import *
from PyQt4.QtNetwork import *

class XPrinter(QObject):

    def __init__(self):
        QObject.__init__(self)

    def print_page_info(self, ok):
        print ok

    def print_load_started(self):
        print 'started loading'

    def print_load_percent(self, percent):
        print percent


app = QApplication(sys.argv)

web = QWebView()
xprinter = XPrinter()
web.loadFinished.connect(xprinter.print_page_info)
web.loadStarted.connect(xprinter.print_load_started)
web.loadProgress.connect(xprinter.print_load_percent)

web.load(QUrl("http://www.gnu.org"))
web.setWindowState(Qt.WindowMaximized)
web.show()

sys.exit(app.exec_())

编辑: 而且你的签名也有错误 QWebview

QObject.connect(web, SIGNAL("loadFinished(bool)"), xprinter.print_page_info)
QObject.connect(web, SIGNAL("loadStarted()"), xprinter.print_load_started)
QObject.connect(web, SIGNAL("loadProgress(int )"), xprinter.print_load_percent)

关于python - QtWebkit:loadFinished 和 loadProgress 槽永远不会执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5765077/

相关文章:

c++ - QGLWidget 拒绝绘制任何东西

c++ - 使用 QPainter 绘制着色 QPixmap

python pyqt QPainter 小部件不显示在布局中

python - PyQt4 QPalette 不工作

python - 如何在 Windows Vista 上设置 Python 路径?

python - 使用 Python 中的其他值更新 numpy 数组中的值

c++ - 使用 cmake 和 QT 组织多个项目

python - 更改 QGraphicsView 的方向

python - Python 中列表理解的多个条件

python - 有没有办法将 python 代码合并到 moinmoin 页面中?