QWebView не загружает внешние ресурсы - PullRequest
4 голосов
/ 19 февраля 2010

Я работаю в веб-браузере киоска, используя Qt и PyQt4.QWebView, кажется, работает довольно хорошо, за исключением одной причуды.

Если по какой-либо причине не удается загрузить URL-адрес, я хочу перенаправить пользователя на пользовательскую страницу ошибки.Я сделал это с помощью сигнала loadFinished (), чтобы проверить результат, и при необходимости изменил URL на пользовательскую страницу, используя QWebView.load ().Однако любая страница, которую я пытаюсь загрузить здесь, не может извлекать внешние ресурсы, такие как CSS или изображения.

Использование QWebView.load () для установки начальной страницы при запуске, кажется, работает нормально, и нажатие любой ссылки наПользовательская страница ошибки приведет к нормальной загрузке страницы назначения.Это просто страница с ошибкой, которая не работает.

Я действительно не уверен, куда идти дальше.Я включил источник для приложения, которое будет повторять проблему ниже.Он принимает URL-адрес в качестве аргумента командной строки - действительный URL-адрес будет отображаться правильно, неверный URL-адрес (например, сбой разрешения DNS) будет перенаправлен в Google, но с отсутствующим логотипом.Предлагаю несколько советов, это будет с благодарностью.

1 Ответ

1 голос
/ 29 марта 2010

Не знаю, почему это не работает, но что-то вроде

 def checkLoadResult(self, result):
  if (result == False):
    self.page().mainFrame().setHtml ( "<html><head><h1>Not Found</h1></head>\
     <body><p> Search at  <a href='http://google.com'> google </a>\
     </p></body> </html>")

делает.

...