Как заставить QtWebKitWidgets.QWebView работать с конструктором qt

Я хочу интегрировать / показать раздел веб-страницы (URL) в моем главном окне. Я использую anaconda, pyqt (5.6) и конструктор. Я добавил QWebView в основную форму через дизайнера. Но я не могу запустить это. Ошибка, которую я получаю при попытке запустить главное окно:

self.webView_test = QtWebKitWidgets.QWebView(self.centralwidget)
NameError: name 'QtWebKitWidgets' is not defined

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

Я ищу ответ, который решит проблему без переустановки pyqt или каких-либо других серьезных изменений. Хотя я могу установить что-то (пакет / модуль) с веб-сайта anacondas и т. Д. Я хочу полностью сделать аспект графического интерфейса дизайнером, поэтому, если есть способ, пожалуйста, предоставьте мне некоторую помощь.

ссылка:

NameError: имя 'QWebPage' не определено

https://github.com/conda-forge/pyqt-feedstock/issues/19

1 ответ

Решение

Кажется, ответ был довольно прост. Благодаря @Nimish Bansal это удалось решить следующим образом:

Просто добавьте строку:

from PyQt5 import QtWebKitWidgets

В исходный py-файл, сгенерированный pyuic. Вы должны помнить (это изменение) каждый раз, когда изменяете конструктор окон. Это не добавляет эту строку автоматически. Это оно!

Изменить: я только что заметил, что строка (импорт) идет с Pyuic. НО это подпадает под основные коды в файле пользовательского интерфейса - не в верхней части. Я всегда комментирую этот раздел, поэтому до сих пор даже не заметил. Все, что вам нужно сделать, это обрезать их линию (ту же, что я предоставил) и переместить ее наверх (там, где находятся другие импорты).

Другие вопросы по тегам