Python Pyqt将网站打包完整教程

先直接给出代码:如下

import sys
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
from PyQt5.QtWebEngineWidgets import *
class MainWindow(QMainWindow):
    def __init__(self):
        super(MainWindow, self).__init__()
        self.setWindowTitle('标题')  #窗口标题
        self.setGeometry(5,30,1400,750)  #窗口的大小和位置设置
        self.browser=QWebEngineView()
        #加载外部的web界面
        self.browser.load(QUrl('https://www.baidu.com/'))
        self.setCentralWidget(self.browser)
if __name__ == '__main__':
    app=QApplication(sys.argv)
    win=MainWindow()
    win.show()
    app.exit(app.exec_())

下面是代码的详细解释:

  1. 导入必要的模块:

    • sys:提供访问系统相关功能的模块。
  2. 导入PyQt5库中的相关类:

    • QMainWindow:是一个主窗口类,用于创建应用程序的主窗口。
    • QApplication:是用于管理应用程序的类。
    • QWebEngineView:是用于显示Web内容的小部件类。
    • QUrl:是用于处理URL的类。
  3. 创建一个名为MainWindow的自定义类,继承自QMainWindow

    • __init__方法中,调用QMainWindow类的构造函数来初始化窗口。
    • 设置窗口标题为'标题'。
    • 设置窗口的位置和大小。
    • 创建一个QWebEngineView实例作为浏览器部件。
    • 加载外部的Web界面,URL为'https://www.baidu.com/'。
    • 将浏览器部件设置为窗口的中心部件。
  4. if __name__ == '__main__':语句块中:

    • 创建一个QApplication实例,用于管理应用程序。
    • 创建一个MainWindow实例,表示应用程序的主窗口。
    • 调用show()方法显示主窗口。
    • 调用app.exec_()启动应用程序的事件循环,使程序进入运行状态。
    • 最后,调用app.exit()退出应用程序,传递app.exec_()的返回值作为参数。

这段代码创建了一个基本的网页浏览器窗口,打开并显示了指定的URL内容。可以根据需要修改窗口的标题、位置和大小,以及加载的网页URL。

接下来是扩展——————————————————————

下面是一些扩展的示例:

  1. 添加菜单栏

    1. MainWindow 类的构造函数中添加以下代码:

      menu_bar = self.menuBar()  # 创建一个菜单栏
      
      file_menu = menu_bar.addMenu("File")  # 添加一个"File"菜单
      file_menu.addAction("New Window")  # 添加一个"New Window"菜单项
      
      view_menu = menu_bar.addMenu("View")  # 添加一个"View"菜单
      view_menu.addAction("Zoom In")  # 添加一个"Zoom In"菜单项
      view_menu.addAction("Zoom Out")  # 添加一个"Zoom Out"菜单项
      

    2. 这样做将在应用程序的主窗口上添加一个菜单栏,并在菜单栏上添加了"File"和"View"两个菜单。

    3. 这些扩展示例可以为你的网页浏览器应用程序添加一些基本的功能和用户界面元素。你还可以根据需要进一步扩展和定制应用程序。

  2. 添加地址栏和导航按钮:

        在 MainWindow 类的构造函数中添加以下代码:

  1. self.url_bar = QLineEdit()  # 创建一个地址栏部件
    self.url_bar.returnPressed.connect(self.navigate)  # 将地址栏的回车事件连接到 navigate 方法
    self.browser.urlChanged.connect(self.update_url_bar)  # 将浏览器的 URL 变化事件连接到 update_url_bar 方法
    
    navigation_toolbar = QToolBar()  # 创建一个工具栏
    self.addToolBar(navigation_toolbar)  # 将工具栏添加到主窗口
    
    navigation_toolbar.addAction("Back", self.browser.back)  # 添加返回按钮,点击时调用浏览器的 back 方法
    navigation_toolbar.addAction("Forward", self.browser.forward)  # 添加前进按钮,点击时调用浏览器的 forward 方法
    navigation_toolbar.addWidget(self.url_bar)  # 将地址栏部件添加到工具栏
    navigation_toolbar.addAction("Go", self.navigate)  # 添加前往按钮,点击时调用 navigate 方法
    

        2.添加以下两个方法到 MainWindow 类中:

def navigate(self):
    url = QUrl(self.url_bar.text())  # 获取地址栏中的 URL
    self.browser.load(url)  # 加载 URL

def update_url_bar(self, q):
    self.url_bar.setText(q.toString())  # 更新地址栏显示的 URL
        这样做将在应用程序的主窗口上添加一个地址栏和导航按钮。可以在地址栏中输入网址并按回车键或点击"Go"按钮来导航到指定网页 

  • 最后给出扩展后的完整代码     

  •  

    import sys
    from PyQt5.QtCore import *
    from PyQt5.QtWidgets import *
    from PyQt5.QtWebEngineWidgets import *
    
    
    class MainWindow(QMainWindow):
        def __init__(self):
            super(MainWindow, self).__init__()
            self.setWindowTitle('图标')
            self.setGeometry(5, 30, 1400, 750)
    
            self.browser = QWebEngineView()
            self.browser.load(QUrl('https://www.baidu.com/'))
            self.setCentralWidget(self.browser)
    
            self.url_bar = QLineEdit()
            self.url_bar.returnPressed.connect(self.navigate)
            self.browser.urlChanged.connect(self.update_url_bar)
    
            navigation_toolbar = QToolBar()
            self.addToolBar(navigation_toolbar)
    
            navigation_toolbar.addAction("Back", self.browser.back)
            navigation_toolbar.addAction("Forward", self.browser.forward)
            navigation_toolbar.addWidget(self.url_bar)
            navigation_toolbar.addAction("Go", self.navigate)
    
            menu_bar = self.menuBar()
    
            file_menu = menu_bar.addMenu("File")
            file_menu.addAction("New Window")
    
            view_menu = menu_bar.addMenu("View")
            view_menu.addAction("Zoom In")
            view_menu.addAction("Zoom Out")
    
        def navigate(self):
            url = QUrl(self.url_bar.text())
            self.browser.load(url)
    
        def update_url_bar(self, q):
            self.url_bar.setText(q.toString())
    
    
    if __name__ == '__main__':
        app = QApplication(sys.argv)
        win = MainWindow()
        win.show()
        sys.exit(app.exec_())
    

            最后谢谢大家的喜欢                                          

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值