怎么用Python PyQt5模块实现一个浏览器
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇"怎么用Python PyQt5模块实现一个浏览器"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们
千家信息网最后更新 2026年11月03日怎么用Python PyQt5模块实现一个浏览器
这篇"怎么用Python PyQt5模块实现一个浏览器"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"怎么用Python PyQt5模块实现一个浏览器"文章吧。
1. 首先是环境的安装 (本人使用的是PyCharm,python3.6)
pip3 install PyQt5 (没有指定版本的话,默认会安装最新的)pip3 install sippip3 install PyQtWebEngine
(PyQtWebEngine是Qt WebEngine的一组框架,该框架提供了在应用程序中嵌入 Web 内容的能力,并且基于 Chrome 浏览器。)
2. 实现代码
from PyQt5.QtCore import *from PyQt5.QtWidgets import *from PyQt5.QtGui import *from PyQt5.QtWebEngineWidgets import *import osimport sysclass MainWindow(QMainWindow): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.resize(2000, 1314) self.show() 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) self.webview = WebEngineView(self) self.webview.load(QUrl("http://www.baidu.com")) self.create_tab(self.webview) navtb = QToolBar("Navigation") navtb.setIconSize(QSize(16, 16)) self.addToolBar(navtb) back_btn = QAction(QIcon(os.path.join("images", "houtui.png")), "后退", self) back_btn.triggered.connect(self.webview.back) navtb.addAction(back_btn) next_btn = QAction(QIcon(os.path.join("images", "qianjin.png")), "前进", self) next_btn.triggered.connect(self.webview.forward) navtb.addAction(next_btn) reload_btn = QAction(QIcon(os.path.join("images", "refresh_icon.png")), "刷新", self) reload_btn.triggered.connect(self.webview.reload) navtb.addAction(reload_btn) home_btn = QAction(QIcon(os.path.join("images", "geren1.png")), "主页", self) navtb.addAction(home_btn) self.urlbar = QLineEdit() stop_btn = QAction(QIcon(os.path.join("images", "cross-circle.png")), "Stop", self) stop_btn.triggered.connect(lambda: self.tabs.currentWidget().stop()) navtb.addAction(stop_btn) self.urlbar.returnPressed.connect(self.navigate_to_url) navtb.addSeparator() navtb.addWidget(self.urlbar) 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) 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) def close_Tab(self, index): if self.tabWidget.count() > 1: self.tabWidget.removeTab(index) else: self.close()class WebEngineView(QWebEngineView): def __init__(self, mainwindow, parent=None): super(WebEngineView, self).__init__(parent) self.mainwindow = mainwindow def createWindow(self, QWebEnginePage_WebWindowType): new_webview = WebEngineView(self.mainwindow) self.mainwindow.create_tab(new_webview) return new_webviewapp = QApplication(sys.argv)browser = MainWindow()browser.show()sys.exit(app.exec_())3. 运行结果
4. Tips
如果提示说缺少哪些模块的话,一般Pycharm都会有提示安装,如果没有提示,可以参考一下我运行成功的库:
以上就是关于"怎么用Python PyQt5模块实现一个浏览器"这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注行业资讯频道。
内容
模块
浏览器
浏览
提示
文章
框架
知识
篇文章
运行
成功
主页
代码
价值
大部分
就是
应用程序
更多
标签
步骤
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网高科技
什么是科技互联网
广东猪兼强互联网科技有限公司
河南云网互联网络科技有限公司
互联网扶贫科技
科技制造互联网公司
互联网 科技创新
互联网科技视频
互联网科技缩写
隆华科技工业互联网
济南华为互联网科技产业总部基地
互联网科技公司实习生
互联网科技和信息
佛山市翊博互联网络科技有限公司
烟台灵鸽互联网科技有限公司
伍佰万互联网科技怎么赚钱
互联网科技股为什么大涨
济南小医互联网科技有限公司招聘
中国科技和美国互联网
恒生互联网科技趋势
互联网中国科技
科技信息互联网
广州互联网络科技有限公司
奇士达互联网科技
深圳卡尔迅互联网科技有限公司怎么样
成都玖崟互联网科技有限公司乐商圈怎么样
坤平互联网科技
互联网方面的科技前沿
云鲸互联网络科技有限公司
广州智享互联网科技