python:pyqt5案例(简易浏览器)

1、上接pyqt5基础https://blog.csdn.net/weixin_73011353/article/details/138051734icon-default.png?t=N7T8https://blog.csdn.net/weixin_73011353/article/details/138051734

2、基本模块

# 定义一个名为BrowserWindow的类,继承自QMainWindow
class BrowserWindow(QMainWindow):def __init__(self):super().__init__()  

3、设置窗口标题和初始位置及大小

        self.setWindowTitle("浏览器示例")self.setGeometry(100, 100, 800, 600)

4、创建一个中心小部件和布局

        self.central_widget = QWidget()self.setCentralWidget(self.central_widget)self.layout = QVBoxLayout()self.central_widget.setLayout(self.layout)

5、创建地址栏控件

        self.address_bar = QLineEdit()self.layout.addWidget(self.address_bar)

6、创建搜索按钮控件

        self.search_button = QPushButton("搜索")self.layout.addWidget(self.search_button)

7、创建浏览器视图控件

        self.browser = QWebEngineView()self.layout.addWidget(self.browser)

8、将搜索按钮的clicked信号连接到search方法

        self.search_button.clicked.connect(self.search)

9、定义search方法,用于处理搜索逻辑

    def search(self):# 获取地址栏中的文本query = self.address_bar.text()# 构建搜索URLurl = f"https://www.google.com/search?q={query}"# 加载URL到浏览器视图self.browser.load(QUrl(url))

10、程序入口

# 程序入口
if __name__ == "__main__":app = QApplication(sys.argv)  browser_window = BrowserWindow()  browser_window.show()  # 显示窗口sys.exit(app.exec_())  # 进入程序的主循环

11、完整代码

import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QVBoxLayout, QWidget, QLineEdit, QPushButton, QTextEdit
from PyQt5.QtWebEngineWidgets import QWebEngineView
from PyQt5.QtCore import QUrl
class BrowserWindow(QMainWindow):def __init__(self):super().__init__()  # 设置窗口标题和初始位置及大小self.setWindowTitle("浏览器示例")self.setGeometry(100, 100, 800, 600)# 创建一个中心小部件和布局self.central_widget = QWidget()self.setCentralWidget(self.central_widget)self.layout = QVBoxLayout()self.central_widget.setLayout(self.layout)# 创建地址栏控件self.address_bar = QLineEdit()self.layout.addWidget(self.address_bar)# 创建搜索按钮控件self.search_button = QPushButton("搜索")self.layout.addWidget(self.search_button)# 创建浏览器视图控件self.browser = QWebEngineView()self.layout.addWidget(self.browser)# 将搜索按钮的clicked信号连接到search方法self.search_button.clicked.connect(self.search)# 定义search方法,用于处理搜索逻辑def search(self):# 获取地址栏中的文本query = self.address_bar.text()# 构建搜索URLurl = f"https://www.google.com/search?q={query}"# 加载URL到浏览器视图self.browser.load(QUrl(url))# 程序入口
if __name__ == "__main__":app = QApplication(sys.argv)browser_window = BrowserWindow()browser_window.show()  # 显示窗口sys.exit(app.exec_())  # 进入程序的主循环

12、运行效果:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/3254.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

美国电子电器产品FCC认证讲解

美国FCC认证简介 FCC全称是Federal Communications Commission,中文为美国联邦通信委员会。于1934年由CommunicationACT建立,是美国政府的一个独立机构,直接对国会负责。FCC通过控制无线电广播、电视、电信、卫星和电缆来协调和国际的通信。涉…

Axure琐碎细节

文章目录 琐碎细节注释预览编写原型图的时候可以把颜色改为灰色标尺竖直文字左对齐Axure中的文字怎么添加元件层级问题如何找到各种各样的形状,比如三角形了 五角星了 十字架了给按钮设置简单的交互动作通过锁来等比例缩放 琐碎细节 注释 有时候我们需要给我们的元…

阿里云操作日记

昨天买了一个超级便宜的阿里云服务器,2核2G,3M固定带宽,40G ESSD Entry云盘,搭载一个简单的系统,就想到了docker轻量级,易于管理 其实docker很好用,第一步就是安装docker 一、docker安装与端口…

盲返模式:电商领域的新玩法与商业创新

大家好,我是微三云周丽,今天给大家分析当下市场比较火爆的商业模式! 小编今天跟大伙们分享什么是什么是盲返模式? 随着互联网的深入发展,电商行业正面临着前所未有的机遇与挑战。在这个竞争激烈的市场环境中&#xff…

uniapp 使用地图

可以使用 map | uni-app官网 uniapp中的map标签,也可以自己引入地图的js 如下图 使用 uniapp中的map标签 需要注意要配置key

HTML 中创建 WebSocket服务与接收webSocket发送内容

效果图 服务端 html客户端接受的消息 接下来开始实现服务端 创建server.js const WebSocket require(ws);const wss new WebSocket.Server({ port: 8877 });wss.on(connection, function connection(ws) {console.log(WebSocket connection opened.);// 每隔 5 秒发送一次…

人耳的七个效应

1、掩蔽效应 • 人们在安静环境中能够分辨出轻微的声音,即人耳对这个声音的听域很低,但在嘈杂的环境中轻微的声音就会被淹没掉,这时将轻微的声音增强才能听到。 • 这种在聆听时,一个声音的听阈因另一声音的出现而提高的现象&…

2.搭建增长模型-福格行为模型

福格行为模型 Bmat B为行动 m是动机 a是能力 t是触发 mat三者是同时出现的 比如连续签到30天,才送1天会员,这明摆着欺负人,用户难有积极性 但是签到即可或者会员1天,连续30天送30天,这样用户每天都会积极的来签到&…

【数据结构】哈希桶

目录 前言: 开散列(哈希桶) 开散列的概念 哈希桶的模拟实现 整体框架 查找 插入 删除 析构函数 前言: 闭散列线性探测缺点:一旦发生哈希冲突,所有的产生哈希冲突的数据连续存储在一块区域&#xff…

ios微信小程序禁用下拉上拉

第一步&#xff1a; page.json配置页面的"navigationStyle":"custom"属性&#xff0c;禁止页面滑动 "navigationStyle":"custom" 第二步&#xff1a; 页面里面使用scroll-view包裹内容&#xff0c;内容可以内部滑动 <view class&…

Oracle中rman使用记录

最近在项目中&#xff0c;遇到使用RMAN的操作来恢复数据库中某个时间归档日志&#xff0c;RMAN的原理和理解&#xff0c;网友们百度了解一下。我重点将实操部分了。直接上实验环节&#xff0c;让网友更懂。&#xff08;特别提醒&#xff1a;我是1:1用VMware克隆数据库进行RMAN还…

如何看待AIGC技术

目录 1.概述 2.技术应用 2.1.媒体与内容创作 2.2.教育与学习 ​​​​​​​2.3.艺术创作 ​​​​​​​2.4.游戏产业 ​​​​​​​2.5.工业设计 ​​​​​​​2.6.对未来社会的影响 2.7.可能的发展方向 ​​​​​​​2.8.小结 3.伦理与风险 3.1.AIGC技术面临…

零基础HTML教程(26)--表单元素标注

文章目录 1. 引子2. 使用标注3. 元素的id与name4. 更好的写法5. 小结 1. 引子 我们看一个表单&#xff1a; <form>姓名&#xff1a;<input type"text"><br>手机号:<input type"text"><br>年龄:<input type"text&qu…

MES管理系统工单管理模块的重要性

在现代制造企业中&#xff0c;MES管理系统作为生产流程管理的核心&#xff0c;工单模块则扮演着不可或缺的角色。它不仅是MES管理系统的基石&#xff0c;更是连接各个生产环节的纽带&#xff0c;确保生产流程的顺畅与高效。 首先&#xff0c;我们需要明确MES管理系统在制造企业…

深度解析 Spring 源码:揭秘BeanFactory 之谜

文章目录 一、认识BeanFactory1.1 BeanFactory的概述1.2 BeanFactory与 ApplicationContext的区别 二、BeanFactory源码解读2.1 BeanFactory 接口2.1.1 getBean()2.1.2 containsBean()2.1.3 isSingleton() 2.2 DefaultListableBeanFactory 类2.2.1 registerBeanDefinition()2.2…

南宁建筑模板供应商:贵港市能强优品木业有限公司

贵港市能强优品木业有限公司&#xff0c;作为南宁地区知名的建筑模板生产厂家&#xff0c;拥有25年的丰富生产经验。该公司生产的建筑覆膜板以其稳定的质量和高周转次数而闻名&#xff0c;多年来参与了国内各地区众多大型建筑项目&#xff0c;并获得广大客户的一致好评。 质量稳…

Object类 equals方法 hashCode方法 集合

Object类 Object类是所有类的父类&#xff0c;所以&#xff1a; Object的类的成员变量和成员方法&#xff0c;其余的类会继承&#xff0c;可以使用 Object类可以使用多态创建任意对象&#xff0c;同时拥有子类的重写方法 我们先假设子类重写了equals方法和hashCode方法&…

Flink 实时数仓(一)【实时数仓离线数仓对比】

前言 昨天技术面的时候&#xff0c;面试官说人家公司现在用的都是最新的技术&#xff0c;比如 Doris 等一些最新的工具&#xff0c;确实这些课是学校永远不会开设的&#xff0c;好在他说去了会带着我做一做。可是 ...... 学院舍不得让走啊 ...... 没办法&#xff0c;情况就是这…

python代码报错requests.exceptions.SSLError

直接浏览器访问报ssl错误的网站&#xff0c;然后找到证书&#xff0c;选择导出 然后在cmd里面执行&#xff0c;去查看certifi的位置 python -c "import certifi;print(certifi.where())"找到之后用文本编辑器打开&#xff0c;我用的vscode 滚动到最后面&#xff0c…

什么是重放攻击(Reply attack)?

什么是重放攻击(Reply attack)? 重放攻击&#xff0c;也称为回放攻击&#xff0c;是一种网络攻击方式。重放攻击是一种中间人攻击&#xff0c;攻击者通过截获合法的数据传输并重新发送它们来欺骗接收方&#xff0c;让接收方误以为是合法的消息。重放攻击是非常常见的&#xf…