C++ QT结合FFmpeg实战开发视频播放器-13视频播放器换肤功能实现(1)背景属性添加

article/2025/6/10 5:47:28

视频播放器换肤功能实现(1)背景属性添加

作者:虚坏叔叔
博客:https://xuhss.com

早餐店不会开到晚上,想吃的人早就来了!😄

视频播放器换肤功能实现(1)背景属性添加

回到我们的编辑器源码中,

运行程序,点击衣服按钮,就可以进行皮肤的切换:

当下一次在运行程序的时候,软件会自动记忆上一次设置好的皮肤。

如何实现这个功能呢、

一、编辑Qml文件

添加背景图片,这里的source用到了myplay,所以需要添加MyPlay插件:

    //背景图片Image {id: backGroundwidth: parent.widthheight: parent.heightsource: myplay.backGround ? "file:///" + myplay.backGround : ""//fillMode: Image.TileHorizontallysmooth: true}

二、添加MYPlay.hMyPlay.cpp:

2.1 从零开始在QT中创建C++的类

你可以在QT中 ,右键项目名称,点击Add New,然后选择C++ Class,最后创建MYPlay,继承于QObject

2.2 MYPlay.h添加backGround属性

最后,你可以看到成品播放器源码中,定义了backGround属性

Q_PROPERTY(QString backGround READ backGround WRITE setBackGround NOTIFY backGroundChanged)
    //背景图片路径QString backGround() const;void setBackGround(QString url);
signals:void backGroundChanged(QString url);
private:QString                                     m_strBackgroundPath{""};QString                                     m_strBackGroundChoosePath{""};

2.3 MYPlay.cpp中添加属性函数的实现

//背景图片路径
QString MYPlay::backGround() const
{return m_strBackgroundPath;
}
void MYPlay::setBackGround(QString url)
{QSettings *settingIni = new QSettings("setting.ini",QSettings::IniFormat);QString backGroundpath = settingIni->value("Path/Background").toString();if(url == NULL){if(backGroundpath == NULL){delete settingIni;return;}else{m_strBackgroundPath = backGroundpath;QFileInfo fileInfo(backGroundpath);m_strBackGroundChoosePath = fileInfo.path();qDebug()<<m_strBackGroundChoosePath<<endl;delete settingIni;emit backGroundChanged(m_strBackgroundPath);emit backGroundChooseChanged(m_strBackGroundChoosePath);return;}}if(m_strBackgroundPath != url){settingIni->setValue("Path/Background",url);m_strBackgroundPath = url;QFileInfo fileInfo(url);//qDebug()<<fileInfo.suffix();m_strBackGroundChoosePath = fileInfo.path();emit backGroundChanged(m_strBackgroundPath);emit backGroundChooseChanged(m_strBackGroundChoosePath);}delete settingIni;
}
//选择背景路径
QString MYPlay::backGroundChoose() const
{return m_strBackGroundChoosePath;
}

三、 将MYPlay注册为Qml类:

#include "MYPlay.h"qmlRegisterType<MYPlay>("com.imooc.myplayer", 1, 0, "MYPlay");

四、总结

  • 本文从0开始介绍了视频播放器换肤功能部分实现步骤。
  • 如果觉得文章对你有用处,记得 点赞 收藏 转发 一波哦~

💬 往期优质文章分享

  • C++ QT结合FFmpeg实战开发视频播放器-01环境的安装和项目部署
  • 解决QT问题:运行qmake:Project ERROR: Cannot run compiler ‘cl‘. Output:
  • 解决安装QT后MSVC2015 64bit配置无编译器和调试器问题
  • Qt中的套件提示no complier set in kit和no debugger,出现黄色感叹号问题解决(MSVC2017)
  • Python+selenium 自动化 - 实现自动导入、上传外部文件(不弹出windows窗口)

🚀 优质教程分享 🚀

  • 🎄如果感觉文章看完了不过瘾,可以来我的其他 专栏 看一下哦~
  • 🎄比如以下几个专栏:Python实战微信订餐小程序、Python量化交易实战、C++ QT实战类项目 和 算法学习专栏
  • 🎄可以学习更多的关于C++/Python的相关内容哦!直接点击下面颜色字体就可以跳转啦!
学习路线指引(点击解锁)知识定位人群定位
🧡 Python实战微信订餐小程序 🧡进阶级本课程是python flask+微信小程序的完美结合,从项目搭建到腾讯云部署上线,打造一个全栈订餐系统。
💛Python量化交易实战💛入门级手把手带你打造一个易扩展、更安全、效率更高的量化交易系统
❤️ C++ QT结合FFmpeg实战开发视频播放器❤️难度偏高分享学习QT成品的视频播放器源码,需要有扎实的C++知识!
💚 游戏爱好者九万人社区💚互助/吹水九万人游戏爱好者社区,聊天互助,白嫖奖品
💙 Python零基础到入门 💙Python初学者针对没有经过系统学习的小伙伴,核心目的就是让我们能够快速学习Python的知识以达到入门

🚀 资料白嫖,温馨提示 🚀

关注下面卡片即刻获取更多编程知识,包括各种语言学习资料,上千套PPT模板和各种小程序、Web、客户端项目源码等等资料。更多内容可自行查看哦!

请添加图片描述


http://chatgpt.dhexx.cn/article/6Uhdmpv6.shtml

相关文章

iOS端实现节日换肤

本文是我在网上看到一篇不错的文章,因为之前没接触过,所以特意转过来,和大家一起分享下..以下正文:一、问题的提出  不知道大家有没有发现, 元旦期间, 很多APP界面里的图标都换成了具有节日气氛的样式,而在过了元旦节之后, 这些图标又悄无声息的变回了本来的面貌.   这些具…

换肤 与 静态库

一 换肤 基本的换肤功能实现选中皮肤保存至系统偏好 // 记录用户选中的皮肤[[NSUserDefaults standardUserDefaults] setObject:skinColor forKey:"skinColor"];[[NSUserDefaults standardUserDefaults] synchronize];123123 抽取SkinTools单例&#xff0c;简化视图…

C++ QT结合FFmpeg实战开发视频播放器-15换肤功能的后台实现

作者&#xff1a;虚幻私塾 博客&#xff1a;https://xuhss.com 早餐店不会开到晚上&#xff0c;想吃的人早就来了&#xff01;&#x1f604; 一、换肤功能的后台实现 定义changeBackground函数&#xff0c;让qml去调用这个函数来实现换肤功能&#xff0c; 函数的实现调用了set…

Element UI主题换肤功能(基于vue-element-admin框架)

环境信息&#xff1a; 日期&#xff1a;2022-08-05 node版本&#xff1a;v14.15.4 "sass": "1.26.8", "sass-loader": "8.0.2", 本次实现的是基于花裤衩大佬的 vue-element-admin 或者 vue-admin-template 的前端框架实现的主题换肤功…

JavaScript:演示Ajax的get和post请求,练习选顶卡和换肤案例

JavaScript:演示Ajax的get和post请求&#xff0c;练习选顶卡和换肤案例 Ajax 异步请求 特别提示: 异步请求不要使用live server插件,必须创建一个本地服务器环境 同步与异步 以前端请求,后端响应为例 同步: 前端发请求, 必须等到后端响应完成,才允许发送另一个请求异步: 前端…

Android换肤之Android-skin-support

前言 之前做个APP需要用到换肤&#xff0c;在githup上面找了很久&#xff0c;终于找到一款功能强大、基本能够满足产品需求的换肤框架&#xff0c;那就是Android-skin-support&#xff0c;这个框架换肤功能很强大、不管是白天、黑夜还是任意颜色、图片的皮肤包都可以&#xff…

对 Android 应用换肤方案的总结

作者&#xff1a;me 虽然现在已经有很多不错的换肤方案&#xff0c;但是这些方案或多或少都存在自己的问题。在这篇文章中&#xff0c;我将对 Android 现有的一些动态换肤方案进行梳理&#xff0c;对其底层实现原理进行分析&#xff0c;然后对开发一个新的换肤方案的可能性进行…

前端换肤,聊一聊主题切换那些事

一些网站通常会提供白天、夜间模式&#xff0c;以及自定义主题等等&#xff0c;这种主题切换也就是本文说的前端换肤。 这次案例用的是白天和夜间模式的切换&#xff0c;在做换肤之前&#xff0c;得先知道一件事情&#xff1a;css的变量定义&#xff0c;对变量定义不熟悉的同学…

android 皮肤,Android换肤

前言 之前做个APP需要用到换肤&#xff0c;在githup上面找了很久&#xff0c;终于找到一款功能强大、基本能够满足产品需求的换肤框架&#xff0c;那就是Android-skin-support&#xff0c;这个框架换肤功能很强大、不管是白天、黑夜还是任意颜色、图片的皮肤包都可以&#xff0…

Android 应用换肤方案的总结

虽然现在已经有很多不错的换肤方案&#xff0c;但是这些方案或多或少都存在自己的问题。在这篇文章中&#xff0c;我将对 Android 现有的一些动态换肤方案进行梳理&#xff0c;对其底层实现原理进行分析&#xff0c;然后对开发一个新的换肤方案的可能性进行总结。 1、通过自定…

Android 插件化换肤方案

效果 实现流程 实现LayoutInflater.Factory2这个接口&#xff0c;实现onCreateView方法(主要仿照系统原来LayoutInflater.createView()方法的实现)&#xff0c;此处可以拿到页面中所有的View&#xff0c;判断有没有需要换肤的View&#xff0c;并且保存下来&#xff1b;在Activ…

墨迹天气桌面挂件换肤分析

该篇文章需要准备如下工具&#xff1a; 1、墨迹皮肤文件&#xff0c;下载地址。 Andorid换肤在网上搜索出来的结果&#xff0c;大概有三种&#xff1a; 1、应用本身带有写好的布局 优点&#xff1a;开发难度低 缺点&#xff1a;灵活性低&#xff0c;用户不能自定义皮肤。 2、使…

前端换肤的一些思考

先看看大家怎么做的。下面是两篇别人写的文章&#xff0c;最后是我自己的方法。 第一篇&#xff1a;聊一聊前端换肤 之前在做网站换肤&#xff0c;所以想谈谈网站换肤的实现。网页换肤就是修改颜色值&#xff0c;因此重点就在于怎么来替换。 一般实现 如上图&#xff0c;我们…

Visio保存为网页出错

visio 试图保存文档时出错。已创建的页面可能无效。 试图保存文档时出错。以创建的页面可能无效。最近在用Visio作图的时候时长发生的问题。 经过摸索&#xff0c;不覆盖保存没有问题&#xff0c;如果覆盖保存&#xff0c;有时会有这个问题。解决办法就是把以前生成的网页和相关…

Visio 2016软件

Visio 2016是微软官方最新发布的一款领先的图表解决方案&#xff0c;它可以帮助企业制作定义流程、编辑最佳方案的同时还可以建立可视化计划变革的一款实用工具。这款软件目前提供了&#xff1a;上手图例&#xff08;starter diagrams&#xff09;、成百上千的智能形状、一步数…

解决visio和office365冲突,无法安装visio问题

本教程用于解决office365和visio冲突&#xff0c;无法安装visio问题 目前系统中已经安装Office365 尚未安装visio专业版本 1、下载office增强工具。 office增强工具下载地址 右键解压&#xff0c;此处要记得解压的目录&#xff08;建议在当前目录下&#xff09;。 根据自…

Visio软件

Visio使用小技巧 上标、下标快捷键 上标&#xff1a;CtrlShift“”下标&#xff1a;Ctrl“” 自定义图形旋转角度 当点击菜单栏上的视图——任务窗格——大小和位置选项&#xff0c;在页面编辑区的左下方出现一个大小和位置窗口。 大小和位置窗口如下&#xff1a; 自…

Visio文件编辑查看工具Visio Viewer for Mac

Visio Viewer for Mac可以打开和查看Visio文件&#xff08;.vsd、.vdx和.vsdm文件&#xff09;。它具有简单易用的用户界面&#xff0c;可以快速加载和显示Visio文件。此外&#xff0c;它还支持导出文件为PDF、PNG、JPEG等格式&#xff0c;方便用户进行文件转换和共享。 Visio…

与你一起学习Microsoft Visio——基础篇

Hi&#xff0c;你好&#xff01;我是大黄蜂&#xff0c;非常高兴借此机会与你一起学习MS Visio的相关知识和技能。这一次的分享主要是结合本人在实际使用Visio过程中的一些方法技巧并总结整理其他人分享的知识&#xff0c;其中有一些材料则来源于互联网&#xff0c;期待通过我的…

【Visio】 windows Visio 画图

1、Visio如何画圆形 画圆用 里面的第二个画圆工具 &#xff0c;用这个工具可以画出圆或者椭圆。如果想得到一个正圆&#xff0c;在画的时候按住shift键即可。 画好一个圆之后单击它&#xff0c;再单击 填充选项&#xff0c;选择你想填充的颜色&#xff0c;选黑色的话就会出现一…