gpt4 book ai didi

python - PyQt QtWebKit loadFinished 未调用

转载 作者:行者123 更新时间:2023-11-28 22:58:57 25 4
gpt4 key购买 nike

我有这个脚本,准备好后我想用它做更多的事情:

from PyQt4 import QtCore, QtGui, QtWebKit

class WebViewCreator:
def __init__(self):

self.view = QtWebKit.QWebView()
self.view.setPage(QtWebKit.QWebPage())

self.view.connect(self.view, QtCore.SIGNAL('loadFinished(bool)'), self.load_finished)

path = self.app.resources_uri() + "/index.html"
self.view.load(QtCore.QUrl(path))

def load_finished(self, ok):
print ok

def onDone(ok):
print ok

我遇到的问题是,如果我将一个函数连接到 loadFinished(bool) 信号,那么该函数就会被执行,但是如果我连接一个对象的方法,比如 self.load_finished 那么这个方法就不会被调用,我可以'不明白为什么 :-/

同样的情况发生在:

self.view.loadFinished.connect(onDone)

对比:

self.view.loadFinished.connect(self.load_finished)

最佳答案

您发布的代码没有明显错误。

也就是说,当我运行这个稍微简化的版本时,它会成功加载页面并(最终)打印 True:

from PyQt4 import QtCore, QtGui, QtWebKit

class WebViewCreator(QtGui.QWidget):
def __init__(self):
QtGui.QWidget.__init__(self)
self.view = QtWebKit.QWebView(self)
self.view.loadFinished.connect(self.load_finished)
layout = QtGui.QVBoxLayout(self)
layout.addWidget(self.view)
self.view.load(QtCore.QUrl('http://stackoverflow.com/'))

def load_finished(self, ok):
print ok

if __name__ == '__main__':

import sys
app = QtGui.QApplication(sys.argv)
window = WebViewCreator()
window.show()
sys.exit(app.exec_())

这是在 Linux 上使用 Python 2.7.3、Qt 4.8.3 和 PyQt 4.9.5。

关于python - PyQt QtWebKit loadFinished 未调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13408179/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com