QWebEngine

Qt自带的QWebEngine 不支持播放MP4, 需要手动编译QWebEngine模块

在这里插入图片描述

不支持播放mp4

// mainwindow.cpp
, m_webEngine(new MyWebEngine(this))
void MainWindow::init()
{   //关闭系统代理,提高速度,采用release会更快QNetworkProxyFactory::setUseSystemConfiguration(false);setCentralWidget(m_webEngine);
}
// mywebengine.h
#include <QWebEngineView>
#include <QWebEnginePage>class QUrl;
class WebView : public QWebEngineView
{Q_OBJECT
public:explicit WebView(QWidget *parent = nullptr);
protected:QWebEngineView* createWindow(QWebEnginePage::WebWindowType type) override;
private:void initControl();
private:QUrl	url;
};class MyWebEngine: public QWidget{Q_OBJECT
public:explicit MyWebEngine(QWidget*parent = nullptr);
};
#endif // MYWEBENGINE_H
// mywebengine.cpp
#include "mywebengine.h"
#include <QWebEngineFullScreenRequest>
#include <QWebEngineSettings>
#include <QWebEngineView>
#include <QLineEdit>
#include <QToolButton>
#include <QBoxLayout>WebView::WebView(QWidget *parent)
{setAttribute(Qt::WA_DeleteOnClose);settings()->setAttribute(QWebEngineSettings::FullScreenSupportEnabled,true);initControl();
}QWebEngineView *WebView::createWindow(QWebEnginePage::WebWindowType) {load(url);return nullptr;
}void WebView::initControl()
{connect(page(), &QWebEnginePage::linkHovered, this,[=](const QString &u){url.setUrl(u);});connect(page(),&QWebEnginePage::fullScreenRequested,this,[=](QWebEngineFullScreenRequest pageRequeset) {pageRequeset.accept();});
}MyWebEngine::MyWebEngine(QWidget *parent)
{auto vlayout = new QVBoxLayout(this);auto layout = new QHBoxLayout(this);auto *back = new QToolButton(this);    back->setText("<");auto *forword = new QToolButton(this); forword->setText(">");auto *reload = new QToolButton(this);  reload->setText("刷新");auto *go = new QToolButton(this);      go->setText("Go");auto *input = new QLineEdit(this);input->setClearButtonEnabled(true);input->setText("https://www.baidu.com");auto *view = new WebView(this);setStyleSheet(R"(QToolButton,QLineEdit{height:30px;border-radius:2px;}
QLineEdit{font-size:14px;padding:0 0 0 8; border:none;border-radius:13px;}
QToolButton:hover,QLineEdit:hover{border:1px solid #4999FA;background-color:#DDEEFF}
)");layout->addWidget(back);layout->addWidget(forword);layout->addWidget(reload);layout->addWidget(input);layout->addWidget(go);layout->setContentsMargins(0,0,0,0);layout->setSpacing(0);vlayout->setContentsMargins(0,0,0,0);vlayout->setSpacing(0);vlayout->addLayout(layout);vlayout->addWidget(view);connect(forword,&QToolButton::clicked,view,&QWebEngineView::forward);connect(back,&QToolButton::clicked,view,&QWebEngineView::back);connect(reload,&QToolButton::clicked,view,&QWebEngineView::reload);connect(go,&QToolButton::pressed,this,[=](){auto url = input->text().trimmed();// if(!url.contains("www")) url = "www."+url;if(!url.contains("http"))url = "https://"+url;// qDebug()<< "url:" << url;input->setText(url);view->load(url);});connect(input,&QLineEdit::returnPressed,go,&QToolButton::pressed);connect(view,&QWebEngineView::urlChanged,this,[=](const QUrl &u){input->setText(u.toString());});emit go->pressed();
}

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

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

相关文章

Rust 学习笔记1

Basic基础 actix_web基础 #[get("/favicon")] 获取静态图片 #[get("/welcome")] 简单的欢迎 #`/user/{name}/` basic.rs源码 源码 use std::{convert::Infallible, io};use actix_files::{Files, NamedFile}; use actix_session::{storage::Cooki…

3GPP协议PDF下载

https://www.tech-invite.com/3m38/tinv-3gpp-38.html 可以进入3GPP官网界面&#xff0c;也可以进入PDF下载界面 PDF加载比较慢

高性能服务器程序框架知识梳理

服务器编程框架 服务器程序种类有很多&#xff0c;但是基本框架都一样&#xff0c;核心不同点在于逻辑处理单元。基本框架包含&#xff1a;I/O处理单元、逻辑单元、网络存储单元以及请求队列。 I/O处理单元&#xff08;主线程&#xff09;&#xff1a;服务器用来管理客户连接…

【AI】从0开始玩转混元3D⼤模型,如何让一张静态实物图片一键转为3D实物图,大模型都表示服了,超级简单易上手,快来试试!

HAI 与 NVIDIA &#xff0c;为开发者提供一键部署及生图的能力&#xff0c;让开发者体验3D 模型的同时&#xff0c;也了解云的便利性。 混元3D 2.0是腾讯推出的尖端3D⽣成模型&#xff0c;能够创建带有⾼分辨率纹理贴图的⾼保真3D资产 参赛报名&#xff1a;https://marketing.c…

电路图识图基础知识-电动机的保护电路保护方式(二十六)

电动机保护电路是确保电动机安全、可靠运行的关键技术之一。在工业和日常生活中&#xff0c;电动机被广泛应用于各种设备中&#xff0c;其安全运行对于保障生产效率和人身安全至关重要。本文将详细介绍电动机保护电路的重要性、保护方式以及具体的电路分析&#xff0c;以期为电…

【Pandas】pandas DataFrame droplevel

Pandas2.2 DataFrame Reshaping sorting transposing 方法描述DataFrame.droplevel(level[, axis])用于**从 DataFrame 的索引&#xff08;行或列&#xff09;中删除指定层级&#xff08;level&#xff09;**的方法 pandas.DataFrame.droplevel() pandas.DataFrame.droplev…

Delivering Arbitrary-Modal Semantic Segmentation(CVPR2023)任意模态语义分割论文阅读

文章目录 文章研究思路创建了DeLiVER任意模态分割基准数据集统计信息4种模态25个语义类 提出了任意跨模态分割模型CMNeXt自查询中心&#xff08;Self-Query Hub&#xff0c;SQ-Hub&#xff09;并行池化混合器&#xff08;Parallel Pooling Mixer&#xff0c;PPX&#xff09; 实…

进程控制

一. 进程创建 1.fork的概念与使用 在 Linux 中 fork 可以在一个进程中创建一个新的进程。这个新进程称为子进程&#xff0c;原进程为父进程。使用前需要包含头文件 #include <unistd.h> 。在调用 fork 函数时&#xff0c;子进程与父进程会共享数据和代码&#xff0c;此…

造轮子系列:从0到1打造生产级HTTP客户端,优雅封装OkHttp/HttpClient,支持异步、重试与文件操作

TechZhi HTTP Client Starter 源码特性快速开始1. 添加依赖2. 配置3. 使用 主要功能支持的HTTP方法文件操作功能高级功能配置示例 API使用示例基本请求自定义请求异步请求文件操作示例错误处理 构建和测试依赖说明 本文将介绍一款本人开发的高性能Spring Boot HTTP客户端Starte…

Java过滤器的基本概念

概述 Java 过滤器是 Java EE (Jakarta EE) 中的一种组件&#xff0c;用于在请求到达 Servlet 或 JSP 之前对其进行预处理&#xff0c;或者在响应返回客户端之前对其进行后处理。过滤器主要应用于以下场景&#xff1a; 请求参数过滤和转换字符编码处理身份验证和授权日志记录压…

gbase8s数据库获取jdbc/odbc协议的几种方式

PROTOCOLTRACEFILED:\sqltrace1.log;PROTOCOLTRACE5 jdbc 参数 &#xff0c;明文协议&#xff0c;并发时 会错乱&#xff0c;适合单线程调试 SQLIDEBUGC:\Users\lenovo\Desktop\sqlidebug.log1 jdbc参数&#xff0c;密文协议&#xff0c;需使用解密工具解析&#xff0c;解析…

【android bluetooth 框架分析 04】【bt-framework 层详解 7】【AdapterProperties介绍】

前面我们提到了 蓝牙协议栈中的 Properties &#xff0c; 这篇文章是 他的补充。 【android bluetooth 框架分析 04】【bt-framework 层详解 6】【Properties介绍】 在 AOSP&#xff08;Android Open Source Project&#xff09;中&#xff0c;AdapterProperties 是一个 Java…

C盘瘦身?

突然发现回收站底部有横幅辣眼睛&#xff01; 点击深度清理跳转C盘瘦身 点击一键瘦身跳转支付 回收站右键还有菜单 回收站右键可以通过设置关闭 回收站底部横幅关不了&#xff01; 流氓没人管了吗&#xff1f;

用户通知服务,轻松实现应用与用户的多场景交互

用户在使用应用时&#xff0c;经常想要了解应用程序在执行的操作&#xff0c;如下载完成、新邮件到达、发布即时的客服支付通知等&#xff0c;这些通知除了携带基本的文本图片信息外&#xff0c;最好还可以支持文件上传下载进度场景下的进度条通知&#xff0c;以及点击通知栏可…

苹果获智能钱包专利,Find My生态版图或再扩张:钱包会“说话”还能防丢

苹果公司近日成功获批一项突破性专利&#xff0c;揭示了一种支持Find My网络的全新智能钱包设计方案。该钱包不仅能智能管理用户的信用卡、身份证等实体卡片&#xff0c;更具备了追踪定位和通过扬声器发声提醒的能力&#xff0c;有望成为苹果“查找”&#xff08;Find My&#…

当机床开始“思考”,传统“制造”到“智造”升级路上的法律暗礁

——首席数据官高鹏律师团队创作&#xff0c;AI辅助 一、被时代推着走的工厂&#xff1a;从“铁疙瘩”到“智能体”的阵痛 某汽车零部件厂的李厂长至今记得三年前的凌晨。为了赶上新能源车企的订单&#xff0c;厂里咬牙引进了两条智能生产线&#xff0c;可调试第三天&#xff…

概率基础——不确定性的数学

第05篇&#xff1a;概率基础——不确定性的数学 写在前面&#xff1a;大家好&#xff0c;我是蓝皮怪&#xff01;前几篇我们聊了统计学的基本概念、数据类型、描述性统计和数据可视化&#xff0c;今天我们要进入统计学的另一个重要基础——概率论。你有没有想过&#xff0c;为什…

爬虫遇到base64编码(非常规版)

一.特征 从 Base64 的核心特性入手&#xff0c;比如它的编码原理&#xff08;将二进制数据转换为 ASCII 字符集&#xff09;和字符集的组成&#xff08;A-Z、a-z、0-9、、/ 和 &#xff09;。这是 Base64 最基础的特点&#xff0c;几乎每个回答都应该包括这些内容。基于 64 个…

节拍定时器是什么?

节拍定时器是什么&#xff1f; 节拍定时器&#xff08;SysTick Timer&#xff09;是嵌入式系统中用于提供精确时间基准的核心硬件组件&#xff0c;尤其在ARM Cortex-M系列处理器中广泛应用。以下是其关键特性和应用的综合说明&#xff1a; ⚙️ 一、核心概念与工作原理 硬件基…

SDPA(Scaled Dot-Product Attention)详解

SDPA&#xff08;Scaled Dot-Product Attention&#xff09;详解 SDPA&#xff08;Scaled Dot-Product Attention&#xff0c;缩放点积注意力&#xff09;是 Transformer 模型的核心计算单元&#xff0c;最早由 Vaswani 等人在 2017 年的论文《Attention Is All You Need》提出…