怎么用Python PyQt5模块实现一个浏览器
发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,这篇"怎么用Python PyQt5模块实现一个浏览器"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们
千家信息网最后更新 2025年01月19日怎么用Python PyQt5模块实现一个浏览器
这篇"怎么用Python PyQt5模块实现一个浏览器"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"怎么用Python PyQt5模块实现一个浏览器"文章吧。
1. 首先是环境的安装 (本人使用的是PyCharm,python3.6)
pip3 install PyQt5
(没有指定版本的话,默认会安装最新的)pip3 install sip
pip3 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安全错误
数据库的锁怎样保障安全
思洋互联网科技有限公司地址
珠海软件开发公司怎么做直播
济南昌世网络技术有限公司
云服务器房间
音视频管理服务器
金融软件开发市场如何
软件开发计划国家标准
监控状态管理服务器
税务局组织召开网络安全培训
软件开发 超极本
玉林市卫健委网络安全宣传
动态服务器安装
提升网络安全人防技防水平
苏州信息网络技术报价
服务器如何绑定花生壳
学术评价型数据库包括哪些
思训v8数据库
模块化服务器机房
服务器与ftp
广东质量网络技术开发工艺
玩alex连哪个服务器快
遥感解译样本数据库建设
我的世界服务器岩浆
网络安全审查工作方案
构架网络安全防卫系统的方法
路由器上的dhcp服务器是什么意思
网络安全微课mp4
维护网络安全班会发言稿作文
服务器运营公告
阿里云服务器主机