Как сделать QFrame поверх QWebEngineView, когда есть центральный виджет QWebEngineView - PullRequest
0 голосов
/ 05 мая 2020

Я создаю окно без рамки, потому что я хочу сделать вкладки, как в Chrome, в моем веб-браузере, и я искал, и мне нужно сделать окно без рамки, которое у меня есть, и для следующего мне нужно разместить QFrame сверху из этого. И я не знаю, как разместить его поверх QtWebEngineView, когда это центральный виджет, и когда я пробую его, когда это не центральный виджет, и это с макетом, он образует вокруг него рамку.

class MainWindow(QMainWindow):
    def __init__(self, *args, **kwargs):

        super(MainWindow,self).__init__(*args, **kwargs)


        self.setWindowTitle("New Tab")
        self.setWindowIcon(QIcon("browserIcon.ico"))

        self.browser = QWebEngineView()
        self.browser.load(QUrl("https://www.google.com"))

        self.browser.settings().setAttribute(QWebEngineSettings.JavascriptCanOpenWindows, True)
        self.browser.settings().setAttribute(QWebEngineSettings.JavascriptEnabled, True)
        self.browser.settings().setAttribute(QWebEngineSettings.PluginsEnabled, True)
        self.browser.settings().setAttribute(QWebEngineSettings.LocalStorageEnabled, True)
        self.browser.settings().setAttribute(QWebEngineSettings.AutoLoadImages, True)
        self.browser.settings().setAttribute(QWebEngineSettings.AutoLoadIconsForPage, True)
        self.browser.settings().setAttribute(QWebEngineSettings.FullScreenSupportEnabled, True)

        self.browser.page().fullScreenRequested.connect(self.fullScreen)

        self.setWindowFlags(QtCore.Qt.FramelessWindowHint)
        self.setCentralWidget(self.browser)

1 Ответ

0 голосов
/ 05 мая 2020

Создать вертикальный макет. Чтобы убрать интервал, установите для поля макета значение 0:

self.verticalLayout.setContentsMargin(0, 0, 0, 0) 
...