Я пытаюсь временно отобразить QWebPage в окне просмотра QTextEdit.Вот соответствующий код из моей программы:
class Editor(QTextEdit):
def __init__(self):
super(Editor, self).__init__()
self.webpage = QWebPage(self)
self.paintwebpage = False
def showWebPage(self, html):
self.webpage.mainFrame().setHtml(html)
self.paintwebpage = True
self.update()
def hideWebPage(self):
self.paintwebpage = False
self.update()
def paintEvent(self, event):
if self.paintwebpage:
self.webpage.setViewportSize(self.viewport().size())
painter = QPainter(self.viewport())
self.webpage.mainFrame().render(painter)
painter.end()
else:
super(Editor, self).paintEvent(event)
И он никогда не работает.Я перепробовал множество вариантов, в том числе указание точного прямоугольника для рисования или сначала рисование на изображении, а затем рисование изображения и т. Д. Он всегда отображает одну или две линии веб-страницы в странных местах в окне просмотра.Почему я не могу заставить его перезаписать весь видовой экран с 0,0?Где я ошибаюсь?
[Я хочу отобразить предварительный просмотр HTML-кода из редактора, без необходимости использовать несколько пробелов для виджетов;например, пока пользователь удерживает нажатой определенную кнопку, представление временно переключается на предварительный просмотр HTML рядом с курсором.]