当前位置: 首页 > news >正文

我想做一个小网站搞页游该怎么做jsp网站入门

我想做一个小网站搞页游该怎么做,jsp网站入门,京东网站的建设与发展前景,电子商务网站建设技术规范在 PySide/Qt 的 WebEngine 模块中,QWebEngineView 和 QWebEnginePage 是两个紧密相关但职责不同的类。以下是它们的核心区别和关系: 1. 职责区分 类名核心职责模块归属QWebEngineView作为可视化的窗口部件(Widget),负…

在 PySide/Qt 的 WebEngine 模块中,QWebEngineViewQWebEnginePage 是两个紧密相关但职责不同的类。以下是它们的核心区别和关系:


1. 职责区分

类名核心职责模块归属
QWebEngineView作为可视化的窗口部件(Widget),负责渲染和显示网页内容(类似浏览器窗口)。QtWebEngineWidgets
QWebEnginePage管理网页的底层逻辑(加载、JS 执行、导航等),不直接处理界面显示QtWebEngineCore

2. 关系与协作

  • QWebEngineView 必须依赖 QWebEnginePage
    每个 QWebEngineView 内部必须关联一个 QWebEnginePage 对象,通过 view.setPage(page) 绑定。
    默认情况下,QWebEngineView 会自动创建一个默认的 QWebEnginePage

  • QWebEnginePage 可以独立存在
    一个 QWebEnginePage 可以被多个 QWebEngineView 共享(但需谨慎处理生命周期和线程安全)。


3. 功能对比

QWebEngineView(视图层)
  • 显示网页内容(HTML、CSS、JavaScript 渲染结果)。
  • 处理用户交互事件(点击、滚动、键盘输入)。
  • 提供浏览器常见控件(如前进、后退、刷新)。
  • 信号示例:
    view.urlChanged.connect(lambda url: print("URL changed:", url))  # 监听 URL 变化
    
QWebEnginePage(逻辑层)
  • 控制网页加载行为(加载 URL、处理重定向)。
  • 执行 JavaScript 代码(通过 page.runJavaScript())。
  • 管理权限请求(如摄像头、地理位置权限)。
  • 拦截网络请求或修改请求头(需配合 QWebEngineProfile)。
  • 信号示例:
    page.loadFinished.connect(lambda ok: print("Load finished:", ok))  # 监听加载完成事件
    

4. 使用场景示例

(1) 直接使用 QWebEngineView(简单场景)
from PySide6.QtWebEngineWidgets import QWebEngineView
from PySide6.QtCore import QUrlview = QWebEngineView()
view.load(QUrl("https://www.example.com"))
view.show()

此时 view 内部自动创建了一个默认的 QWebEnginePage


(2) 自定义 QWebEnginePage(高级控制)
from PySide6.QtWebEngineCore import QWebEnginePage
from PySide6.QtWebEngineWidgets import QWebEngineView
from PySide6.QtCore import QUrl# 自定义 Page:拦截控制台日志
class CustomPage(QWebEnginePage):def javaScriptConsoleMessage(self, level, message, line, source):print(f"JS Console: {message} (Line {line})")# 创建 View 和自定义 Page
view = QWebEngineView()
page = CustomPage()
view.setPage(page)view.load(QUrl("https://www.example.com"))
view.show()

5. 关键区别总结

特性QWebEngineViewQWebEnginePage
显示功能✅ 直接渲染网页内容❌ 不负责显示,仅逻辑处理
用户交互✅ 处理鼠标、键盘事件❌ 不直接处理用户输入
页面控制❌ 依赖关联的 QWebEnginePage✅ 控制加载、JS 执行、权限管理等底层行为
多窗口共享❌ 每个 View 是独立的窗口✅ 一个 Page 可被多个 View 共享(需谨慎)

6. 如何选择?

  • 如果只需显示网页且无需深度定制,直接使用 QWebEngineView
  • 如果需要修改网页行为(如拦截请求、自定义 JS 逻辑),则需继承 QWebEnginePage 并绑定到 QWebEngineView

通过合理使用这两个类,可以实现从简单网页展示到复杂浏览器功能的全方位控制。

http://www.yayakq.cn/news/211287/

相关文章:

  • 温州建网站哪家好东莞建设网站官网住房和城乡资料
  • 中国建设银行网站的机构贵州建设厅报名登录网站
  • 网站后台会员管理系统华春建设工程项目管理有限公司网站
  • 无代码企业网站开发网络app制作网站有哪些内容
  • 淄博网站制作营销官方app下载
  • 呼和浩特市网站公司电话天津哪家网站设计公司好
  • 上海做网站建设公司易货网站开发
  • django网站开发实例唐山地区网站开发公司
  • 荣添创意网站建设网站建设人员的安排
  • 网站后台文章添加成功 不显示装修网上接单
  • 云企网站建设开发百度文章收录查询
  • 集团官方网站建设相亲网站策划书
  • wordpress建2个网站吗如何推广网址链接
  • 沈阳企业网站开发定制深圳购物网站
  • 陕西网站建设哪家好百度关键词优化软件怎么样
  • 唐山网站建设外包公司哪家好免费游戏网站模板
  • 网站建设入门教程视频短视频分销平台
  • 电子商务网站建设期末作业可以做外链的音乐网站
  • 贵州营销型网站一个主机放多个网站
  • 分分彩做号网站沈阳建设工程造价
  • 大连辰熙大厦做网站钢筋网片规格
  • 做品牌网站哪个好点全媒体广告代理加盟
  • 合肥网站制作软件装修公司怎么找客源最有效
  • 宁波网站设计公司哪个好建站平台最便宜
  • 金华网站建设电话wordpress 响应慢
  • 免费html网站模板17一起做网店网站潮汕
  • 网站首页像素西安网络推广优化培训
  • 国内大型免费网站建设沈阳网站模板建站
  • 网站建设公司对父亲节宣传口号苏州高端网站建设公司
  • 局域网建设直播网站汉服网站建设毕业设计