PyQT открыть веб-страницу с всплывающим предупреждением JS получит SegFault.Как это исправить? - PullRequest
24 голосов
/ 02 декабря 2011

Я изучаю программирование на PyQT, и когда я пытаюсь выполнить простой тест, я получаю ошибку сегментации, вот мой код 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 на 127.0.0.1 для тестирования,А вот j.html:

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

Я запускаю pop.py, открываю окно, всплывающее диалоговое окно с предупреждением о появлении javascript, нажимаю кнопку ОК, затем pop.py выключается и выдает «Ошибка сегментации»

Я пытался PySide, получить тот же результат.Если нет оповещения JS в html, все будет в порядке.Это ошибка QT или я что-то пропустил?

Я работал на Debian с python 2.6.6, python-qt4 4.8.3, libqtwebkit4 2.1.0

Я также пробовал Fedora 15 сPyQt4-4.8.3, python 2.7.1, та же проблема

Любое предложение, подсказка для поиска будет полезно.Спасибо

1 Ответ

3 голосов
/ 03 февраля 2012

Это работает с тестовым примером, приведенным выше для

Qt:     4.7.2
PyQt:   4.8.3 or PySide 1.0.1
Python: 2.7.1

Как отмечалось выше в комментариях, http://developer.qt.nokia.com/forums/viewthread/4760 объясняет ошибку, и она сообщается как исправленная с https://bugs.webkit.org/show_bug.cgi?id=57414и, вероятно, был включен в Qt 4.7.2.

...