c/c++语言开发共享使用pyQT5显示网页的实现步骤

目录1、pyqtwebengine安装库开发环境配置请参考博文:【python】在pycharm中使用pyqt5进行gui开发的基本流程1、pyqtwebengine安装库加载网页需要使用pyqtwe

目录
  • 1、pyqtwebengine安装库

开发环境配置请参考博文:

【python】在pycharm中使用pyqt5进行gui开发的基本流程

1、pyqtwebengine安装库

加载网页需要使用pyqtwebengine库,可以使用import pyqt5.qtwebenginewidgets测试是否有这个库,如果没有,需要先安装

  pip install pyqtwebengine -i https://pypi.douban.com/simple/  

2、设计窗体

在qt designer里面,没有webengine窗体,只能在程序中创建,先将其他的部分放好。
这儿放置了一个lineedit,用于输入网址,一个按钮

使用pyQT5显示网页的实现步骤

3、生成代码

使用pyuic生成代码,生成的代码为:

  # -*- coding: utf-8 -*-    # form implementation generated from reading ui file 'web.ui'  #  # created by: pyqt5 ui code generator 5.15.4  #  # warning: any manual changes made to this file will be lost when pyuic5 is  # run again.  do not edit this file unless you know what you are doing.      from pyqt5 import qtcore, qtgui, qtwidgets      class ui_mainwindow(object):      def setupui(self, mainwindow):          mainwindow.setobjectname("mainwindow")          mainwindow.resize(1200, 700)          self.centralwidget = qtwidgets.qwidget(mainwindow)          self.centralwidget.setobjectname("centralwidget")          self.lineedit = qtwidgets.qlineedit(self.centralwidget)          self.lineedit.setgeometry(qtcore.qrect(20, 10, 631, 31))          self.lineedit.setobjectname("lineedit")          self.pushbutton = qtwidgets.qpushbutton(self.centralwidget)          self.pushbutton.setgeometry(qtcore.qrect(690, 10, 90, 30))          self.pushbutton.setobjectname("pushbutton")          mainwindow.setcentralwidget(self.centralwidget)          self.menubar = qtwidgets.qmenubar(mainwindow)          self.menubar.setgeometry(qtcore.qrect(0, 0, 1200, 23))          self.menubar.setobjectname("menubar")          mainwindow.setmenubar(self.menubar)          self.statusbar = qtwidgets.qstatusbar(mainwindow)          self.statusbar.setobjectname("statusbar")          mainwindow.setstatusbar(self.statusbar)            self.retranslateui(mainwindow)          qtcore.qmetaobject.connectslotsbyname(mainwindow)        def retranslateui(self, mainwindow):          _translate = qtcore.qcoreapplication.translate          mainwindow.setwindowtitle(_translate("mainwindow", "mainwindow"))          self.lineedit.settext(_translate("mainwindow", "https://www.baidu.com"))          self.pushbutton.settext(_translate("mainwindow", "打开"))    

4、添加代码

引入库文件

  from pyqt5 import qtcore, qtgui, qtwidgets,qtwebenginewidgets  

1、添加webengine窗体

          ## 创建web窗体          self.qwebengine = qtwebenginewidgets.qwebengineview(mainwindow)          self.qwebengine.setgeometry(20, 50, 1600, 600)  

2、创建按钮功能

          ## 创建连接          self.pushbutton.clicked.connect(self.open_url)  

3、编写按钮函数

      def open_url(self):          url=self.lineedit.text()          self.qwebengine.load(qtcore.qurl(url))  

4、添加启动程序

  import sys    if __name__ == '__main__':      app = qtwidgets.qapplication(sys.argv)      mainwindow = qtwidgets.qmainwindow()  # 创建窗体对象      ui = ui_mainwindow()  # 创建pyqt设计的窗体对象      ui.setupui(mainwindow)  # 调用窗体的方法对对象进行初始化设置      mainwindow.show()  # 显示窗体      sys.exit(app.exec_())  # 程序关闭时退出进程  

5、完整代码

  # -*- coding: utf-8 -*-    # form implementation generated from reading ui file 'web.ui'  #  # created by: pyqt5 ui code generator 5.15.4  #  # warning: any manual changes made to this file will be lost when pyuic5 is  # run again.  do not edit this file unless you know what you are doing.      from pyqt5 import qtcore, qtgui, qtwidgets,qtwebenginewidgets      class ui_mainwindow(object):      def setupui(self, mainwindow):          mainwindow.setobjectname("打开网页")          mainwindow.resize(1640, 700)          self.centralwidget = qtwidgets.qwidget(mainwindow)          self.centralwidget.setobjectname("centralwidget")          self.lineedit = qtwidgets.qlineedit(self.centralwidget)          self.lineedit.setgeometry(qtcore.qrect(20, 10, 630, 30))          self.lineedit.setobjectname("lineedit")          self.pushbutton = qtwidgets.qpushbutton(self.centralwidget)          self.pushbutton.setgeometry(qtcore.qrect(690, 10, 90, 30))          self.pushbutton.setobjectname("pushbutton")          mainwindow.setcentralwidget(self.centralwidget)          self.menubar = qtwidgets.qmenubar(mainwindow)          self.menubar.setgeometry(qtcore.qrect(0, 0, 1200, 23))          self.menubar.setobjectname("menubar")          mainwindow.setmenubar(self.menubar)          self.statusbar = qtwidgets.qstatusbar(mainwindow)          self.statusbar.setobjectname("statusbar")          mainwindow.setstatusbar(self.statusbar)            self.retranslateui(mainwindow)          qtcore.qmetaobject.connectslotsbyname(mainwindow)            ## 创建web窗体          self.qwebengine = qtwebenginewidgets.qwebengineview(mainwindow)          self.qwebengine.setgeometry(20, 50, 1600, 600)            ## 创建连接          self.pushbutton.clicked.connect(self.open_url)        def retranslateui(self, mainwindow):          _translate = qtcore.qcoreapplication.translate          mainwindow.setwindowtitle(_translate("mainwindow", "打开网页"))          self.lineedit.settext(_translate("mainwindow", "https://www.baidu.com"))          self.pushbutton.settext(_translate("mainwindow", "打开"))          def open_url(self):          url=self.lineedit.text()          self.qwebengine.load(qtcore.qurl(url))    import sys    if __name__ == '__main__':      app = qtwidgets.qapplication(sys.argv)      mainwindow = qtwidgets.qmainwindow()  # 创建窗体对象      ui = ui_mainwindow()  # 创建pyqt设计的窗体对象      ui.setupui(mainwindow)  # 调用窗体的方法对对象进行初始化设置      mainwindow.show()  # 显示窗体      sys.exit(app.exec_())  # 程序关闭时退出进程  

6、运行

使用pyQT5显示网页的实现步骤

到此这篇关于使用pyqt5显示网页的实现步骤的文章就介绍到这了,更多相关pyqt5显示网页内容请搜索<计算机技术网(www.ctvol.com)!!>以前的文章或继续浏览下面的相关文章希望大家以后多多支持<计算机技术网(www.ctvol.com)!!>!

需要了解更多c/c++开发分享使用pyQT5显示网页的实现步骤,都可以关注C/C++技术分享栏目—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/c-cdevelopment/859687.html

(0)
上一篇 2021年10月18日
下一篇 2021年10月18日

精彩推荐