sjaserds
@sjaserds
Студент

Как поместить QWebEngineView в grid?

Добрый день, создал экземпляр browser = QWebEngineView(), и пытаюсь его поместить в grid:
grid = QGridLayout()
grid.addWidget(browser, 0, 0)

Затем вывожу его на форму
self.setLayout(grid)
self.show()

Окно браузера не появляется.

Если использовать этот вывод то все работает:
browser = QWebEngineView()  
browser.setUrl(QUrl("https://www.dobropremia.ru")
self.setCentralWidget(browser)
self.show()


Но мне окно браузера нужно поместить в сетку и выводить в определенном месте. Подскажите что не так делаю?

Код программы:
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
from PyQt5.QtWebEngineWidgets import *
import sys

class ProjectWindow(QMainWindow):

    def __init__(self):
        super().__init__()
        self.initUi()
    
    def initUi(self):
        self.resize(1000, 700)
        browser = QWebEngineView()  
        browser.setUrl(QUrl("https://www.dobropremia.ru"))
        #grid = QGridLayout()
        #grid.addWidget(browser, 0, 0)
        #self.setLayout(grid)
        self.setCentralWidget(browser)
        self.show()

    def resize_borwser(webbowser):
        pass

 
    def keyPressEvent(self, e):
        if e.key() == Qt.Key_Escape:
         self.close()

app = QApplication(sys.argv)
w = ProjectWindow()
sys.exit(app.exec_())
  • Вопрос задан
  • 78 просмотров
Решения вопроса 1
sjaserds
@sjaserds Автор вопроса
Студент
Решил! Просто нужно было унаследоваться от класса QWidget:
class ProjectWindow(QWidget):

После можно пользоваться grid или QHBox/QVBox и появляется возможность поместить QWebEngineView в любом месте.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы