前言:
现在同学们对“webview加载url”大体比较着重,看官们都需要知道一些“webview加载url”的相关知识。那么小编同时在网上网罗了一些对于“webview加载url””的相关文章,希望大家能喜欢,兄弟们快快来了解一下吧!import sysfrom PyQt5.QtWidgets import *from PyQt5.QtCore import *from PyQt5.QtGui import *from PyQt5.QtWebEngineWidgets import QWebEngineViewimport datetimecurr_time=datetime.datetime.now()time = datetime.datetime.strftime(curr_time, '%Y-%m-%d %H:%M:%S')time1 = datetime.datetime.strftime(curr_time, '%Y年%m月%d日')# 创建主窗口class MainWindow(QMainWindow): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) # 设置窗口标题 self.setWindowTitle('简易浏览器 by琴棋书画 今天是:{}'.format(time1) ) # 设置窗口大小900*600 self.resize(1300, 700) self.show() # 创建tabwidget(多标签页面) self.tabWidget = QTabWidget() self.tabWidget.setTabShape(QTabWidget.Triangular) self.tabWidget.setDocumentMode(True) self.tabWidget.setMovable(True) self.tabWidget.setTabsClosable(True) self.tabWidget.tabCloseRequested.connect(self.close_Tab) self.setCentralWidget(self.tabWidget) # 第一个tab页面 self.webview = WebEngineView(self) # self必须要有,是将主窗口作为参数,传给浏览器 self.webview.load(QUrl(";)) self.create_tab(self.webview) # 使用QToolBar创建导航栏,并使用QAction创建按钮 # 添加导航栏 navigation_bar = QToolBar('Navigation') # 设定图标的大小 navigation_bar.setIconSize(QSize(16, 16)) # 添加导航栏到窗口中 self.addToolBar(navigation_bar) # 添加前进、后退、停止加载和刷新的按钮 back_button = QAction(QIcon('icons/houtui.png'), '后退', self) next_button = QAction(QIcon('icons/qianjin.png'), '前进', self) stop_button = QAction(QIcon('icons/close.png'), '关闭', self) reload_button = QAction(QIcon('icons/shuaxin.png'), '刷新', self) # 绑定事件 back_button.triggered.connect(self.webview.back) next_button.triggered.connect(self.webview.forward) stop_button.triggered.connect(self.webview.stop) reload_button.triggered.connect(self.webview.reload) # 将按钮添加到导航栏上 navigation_bar.addAction(back_button) navigation_bar.addAction(next_button) navigation_bar.addAction(stop_button) navigation_bar.addAction(reload_button) # 添加URL地址栏 self.urlbar = QLineEdit() # 让地址栏能响应回车按键信号 self.urlbar.returnPressed.connect(self.navigate_to_url) navigation_bar.addSeparator() navigation_bar.addWidget(self.urlbar) # 让浏览器相应url地址的变化 self.webview.urlChanged.connect(self.renew_urlbar) # 显示地址 def navigate_to_url(self): q = QUrl(self.urlbar.text()) if q.scheme() == '': q.setScheme('http') self.webview.setUrl(q) # 响应输入的地址 def renew_urlbar(self, q): # 将当前网页的链接更新到地址栏 self.urlbar.setText(q.toString()) self.urlbar.setCursorPosition(0) # 创建tab页面 def create_tab(self, webview): self.tab = QWidget() self.tabWidget.addTab(self.tab, "新建页面") self.tabWidget.setCurrentWidget(self.tab) # 渲染到页面 self.Layout = QHBoxLayout(self.tab) self.Layout.setContentsMargins(0, 0, 0, 0) self.Layout.addWidget(webview) # 关闭tab页面 def close_Tab(self, index): if self.tabWidget.count() > 1: self.tabWidget.removeTab(index) else: self.close() # 当只有1个tab时,关闭主窗口# 创建浏览器,重写重写createwindow方法实现页面连接的点击跳转class WebEngineView(QWebEngineView): def __init__(self, mainwindow, parent=None): super(WebEngineView, self).__init__(parent) self.mainwindow = mainwindow # 重写createwindow() def createWindow(self, QWebEnginePage_WebWindowType): new_webview = WebEngineView(self.mainwindow) self.mainwindow.create_tab(new_webview) return new_webview# 程序入口if __name__ == "__main__": app = QApplication(sys.argv) # 创建主窗口 browser = MainWindow() browser.show() # 运行应用,并监听事件 sys.exit(app.exec_())
版权声明:
本站文章均来自互联网搜集,如有侵犯您的权益,请联系我们删除,谢谢。
标签: #webview加载url #python浏览器