def createtab(self, url: str = config["startup-url"]): layout = QGridLayout() widget = QWidget() widget.setLayout(layout) bar = QLineEdit() completer = QCompleter(self.wordlist) browser = QWebEngineView() backbtn = QPushButton("←") reloadbtn = QPushButton("reload") gotocurrenturlbutton = QPushButton("go!") reloadshort = QShortcut(self) reloadshort.setKey("Ctrl+R") bar.setCompleter(completer) reloadshort.activated.connect(browser.reload) gotocurrenturlbutton.clicked.connect( lambda clicked, browser=browser: self.updatewin(browser, clicked)) reloadbtn.clicked.connect(browser.reload) bar.returnPressed.connect( lambda browser=browser: self.updatewin(browser, True)) bar.textChanged.connect(self.updatetext) browser.load(QUrl(url)) browser.page().urlChanged.connect( lambda qurl, bar=bar: self.updateurl(qurl, bar)) browser.page().loadFinished.connect( lambda arg__1, index=self.tabs.indexOf(browser), browser=browser: self.updatetab(arg__1, index, browser)) browser.page().iconChanged.connect(lambda qicon, index=self.tabs.count( ): self.updateicon(index, qicon)) browser.page().setUrlRequestInterceptor(NetworkFilter) browser.page().titleChanged.connect( lambda title=browser.page().title(): self.updatetitle(title)) backbtn.clicked.connect(browser.back) layout.addWidget(bar, 1, 3) layout.addWidget(reloadbtn, 1, 2) layout.addWidget(browser, 2, 1, 1, 5) layout.addWidget(backbtn, 1, 1) layout.addWidget(gotocurrenturlbutton, 1, 4) self.tabs.addTab(widget, browser.icon(), browser.title()) self.tabs.setCurrentIndex(self.tabs.count() - 1)
def addPage(self, url: str): web_widget = QWebEngineView() web_widget.load(QUrl(url)) self.__page_tab.addTab(web_widget, web_widget.icon(), web_widget.title())