PyQT打开一个带有JS警告弹出窗口的网页会导致SegFault错误。如何修复?

23

我正在学习PyQT编程,当我尝试进行简单的测试时,出现了"Segmentation fault"错误,以下是我的代码pop.py:

#! /usr/bin/python

import sys
from PyQt4.QtGui import QApplication
from PyQt4.QtCore import QUrl
from PyQt4.QtWebKit import QWebView

app = QApplication(sys.argv)
v = QWebView()
v.load(QUrl("http://127.0.0.1/j.html"))
v.show()
app.exec_()

我在本地启动了一个Apache服务器,用于测试。这里是j.html:

<html><script>alert("I am here");</script>
<body>Hello World</body>
</html>

我启动了pop.py,打开了一个窗口,弹出JavaScript警报对话框,我点击“确定”后,pop.py就会退出并显示“段错误(Segmentation fault)”

我试过PySide,结果相同。如果在HTML中没有JS警报,那么就可以正常工作。这是QT的一个bug还是我错过了什么?

我使用Debian操作系统,Python版本为2.6.6,python-qt4版本为4.8.3,libqtwebkit4版本为2.1.0。

我还尝试了Fedora 15,使用PyQt4-4.8.3和Python 2.7.1,但问题仍然存在。

有任何建议或提示帮助我寻找答案将会非常有用。谢谢。


2
我尝试使用QT的cpp编码,绕过Python,但是出现了相同的问题。 - PasteBT
8
我发现有一个关于这个问题的错误报告:https://bugs.webkit.org/show_bug.cgi?id=57414,这是代码:http://developer.qt.nokia.com/forums/viewthread/4760 - PasteBT
1
是的,看起来你自己找到了答案。WebKit的主干版本可以工作,但发货的那个似乎有问题。 - Martin Samson
9
你可以回答自己的问题(在这种情况下,应该这样做!) - Bryce
1个回答

3

谢谢!看起来这是最终结果。我必须自己构建它。 - PasteBT

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接