基于C++和Qt Creator实现的仿制网易云音乐播放器

news2024/9/28 2:47:26

目录

  • 总体介绍
  • 开发环境
  • 技术介绍
  • 项目目录
  • 项目介绍
  • 特殊说明
  • Gitee地址

总体介绍

仿照网易云播放器界面实现,目的在于锻炼C++编程能力,熟练掌握Qt Creator各种组件的使用及样式设置、界面布局、QtPlugin技术、QXml读写XML文件方法、Qss文件的编写及使用等。

开发环境

Windows + Visual Studio 2022 + QT 5.9.1 MSVC2017_64。

技术介绍

1、使用C++语言作为开发语言,包括C11的新特性;

2、Qt 框架的使用:利用了Qt框架的各种组件(QPushButton、QLabel、QLinEdit、QTableWidget、QTabWidget、QStackWidget、QProgressBar、QTimer等)来构建用户界面;

3、XML 文件处理:使用QXml读写XML配置文件完成初始数据的读取,可以通过改写配置文件实现界面的不同;

4、Qt 插件技术:使用QtPlugin使得功能像搭积木一样层层实现;

5、QSS文件:读写QSS文件设置界面样式,例如换肤功能;

6、界面布局:使用QVBoxLayout、QHBoxLayout、QGridLayout进行界面的布局。

项目目录

在这里插入图片描述

-bin_x64_Debug:存放Debug版本下的exe和各模块的Debug动态库
-bin_x64_Release: 存放Release版本下的exe和各模块的Release动态库
-config:存放各个模块用到的配置文件
-include
        -public: 存放各个模块共用的头文件
        -interface: 存放提供接口的头文件
-res: 存放资源图片
-src: 
		-FollowWith:”关注界面“的源代码
		-HnCore:项目框架的源代码
		-LiveBroadcast:“直播界面”的源代码
		-LocalAndDownload:“本地与下载界面”的源代码
		-MainControl: "总控界面"的源代码
		-MyLikeMusic:“我喜欢的音乐界面”源代码
		-PlayMusic:“播放音乐功能”的源代码
		-PodCast:“播客界面”的源代码
		-PrivateRoaming:“私人漫游界面”的源代码
		-RecentlyPlayed:“最近播放界面”的源代码
		-RotationChart:“轮播图界面”的源代码
		-Runner:main.cpp所在模块
		-Video:“视频界面”的源代码
-temp: 编译产生的临时文件

项目介绍

主界面
在这里插入图片描述网易云主界面:
在这里插入图片描述换肤功能,支持六种颜色:
在这里插入图片描述在这里插入图片描述

网易云换肤:
在这里插入图片描述

专属订制界面
在这里插入图片描述网易云专属订制界面
在这里插入图片描述歌单界面
在这里插入图片描述网易云歌单界面
在这里插入图片描述排行榜界面
在这里插入图片描述网易云排行榜界面
在这里插入图片描述歌手界面
在这里插入图片描述网易云歌手界面
在这里插入图片描述最新音乐界面
在这里插入图片描述

网易云的最新音乐界面
在这里插入图片描述播客界面
在这里插入图片描述网易云的播客界面
在这里插入图片描述视频界面
在这里插入图片描述在这里插入图片描述

网易云的视频界面
在这里插入图片描述在这里插入图片描述关注界面
在这里插入图片描述网易云的关注界面
在这里插入图片描述直播界面
在这里插入图片描述网易云的直播界面
在这里插入图片描述我喜欢的音乐界面
在这里插入图片描述在这里插入图片描述本地与下载界面
在这里插入图片描述在这里插入图片描述最近播放界面
在这里插入图片描述在这里插入图片描述推荐歌曲界面
在这里插入图片描述在这里插入图片描述播放《红昭愿》歌曲
在这里插入图片描述

特殊说明

私人漫游、我的音乐云盘、我的播客、我的收藏界面因为时间关系尚未完成。

Gitee地址

Gitee地址

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

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

相关文章

【期刊】ACM Transactions on Privacy and Security

首页截图 subject areas 混合模式 根据官网介绍,本期刊不在金OA行列,可以自主选择出版模式。 出版方向 Topics of interest include 发文量 季刊,发文量很小 图像安全领域 未在今年发表图像安全领域论文。

CentOS 8启动流程

一、BIOS与UEFI BIOS Basic Input Output System的缩写,翻译过来就是“基本输入输出系统”,是一种业界标准的固件接口,第一次出现在1975年,是计算机启动时加载的第一个程序,主要功能是检测和设置计算机硬件&#xff…

【文档智能】再谈基于Transformer架构的文档智能理解方法论和相关数据集

前言 文档的智能解析与理解成为为知识管理的关键环节。特别是在处理扫描文档时,如何有效地理解和提取表单信息,成为了一个具有挑战性的问题。扫描文档的复杂性,包括其结构的多样性、非文本元素的融合以及手写与印刷内容的混合,都…

小程序 van-field label和输入框改成上下布局

在组件上面加个样式就行&#xff1a;custom-style"display:block;" <van-field label"备注说明" type"textarea" clearable title-width"100px" custom-style"display:block;" placeholder"请输入" /> …

JavaScript原型和原型链

JavaScript每个对象拥有一个原型对象 需要注意的是&#xff0c;只有函数对象才有 prototype 属性 当试图访问一个对象的属性时&#xff0c;它不仅仅在该对象上搜寻&#xff0c;还会搜寻该对象的原型&#xff0c;以及该对象的原型的原型&#xff0c;依次层层向上搜索&#xff…

02hadoop伪分布式搭建

3. 环境安装 3.1 安装方式 单机模式 只能启动MapReduce 伪分布式 能启动HDFS、MapReduce 和 YARN的大部分功能 完全分布式 能启动Hadoop的所有功能 3.2 安装JDK 3.2.1 JDK安装步骤 下载JDK安装包&#xff08;下载Linux系统的 .tar.gz 的安装包&#xff09; https://www…

企业微信HOOK协议,新设备二次验证处理

提示设备强制二次验证问题已处理 HOOK&#xff1a;https://www.showdoc.com.cn/1663062930779972/7859611259700402密码&#xff1a;999999999

代码随想录算法训练营第day6|242.有效的字母异位词 、 349. 两个数组的交集 、202. 快乐数、1. 两数之和

a.242.有效的字母异位词 题目链接 给定两个字符串 s 和 t &#xff0c;编写一个函数来判断 t 是否是 s 的字母异位词。 注意&#xff1a;若 s 和 t 中每个字符出现的次数都相同&#xff0c;则称 s 和 t 互为字母异位词。 示例 1: 输入: s "anagram", t "n…

[ai笔记15] openAI官方提示词工程文档(图文重排版本)

欢迎来到文思源想的ai空间&#xff0c;这是技术老兵重学ai以及成长思考的第15篇分享&#xff01; 最近在学习prompt提示词技巧&#xff0c;一番研究发现其实提示词的技巧并不是限定死的&#xff0c;所谓技巧和心法更像是教导我们如何更清晰、更结构化的大模型聊天工具进行沟通…

以题为例 浅谈sql注入二次注入

什么是二次注入 二次注入可以理解为&#xff0c;攻击者构造的恶意数据存储在数据库后&#xff0c;恶意数据被读取并进入到SQL查询语句所导致的注入。防御者即使对用户输入的恶意数据进行转义&#xff0c;当数据插入到数据库中时被处理的数据又被还原&#xff0c;Web程序调用存…

Vue 3中的reactive:响应式状态的全面管理

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

Java高频面试之Mysql篇

有需要互关的小伙伴,关注一下,有关必回关,争取今年认证早日拿到博客专家 Java高频面试之总纲篇 Java高频面试之集合篇 Java高频面试之异常篇 Java高频面试之并发篇 Java高频面试之SSM篇 Java高频面试之Mysql篇 Java高频面试之Redis篇 Java高频面试之消息队列与分布式篇…

2024 年广东省职业院校技能大赛(高职组) “云计算应用”赛项样题①

2024 年广东省职业院校技能大赛&#xff08;高职组&#xff09; “云计算应用”赛项样题① 模块一 私有云&#xff08;50 分&#xff09;任务 1 私有云服务搭建&#xff08;10 分&#xff09;任务 2 私有云服务运维&#xff08;25 分&#xff09;任务 3 私有云运维开发&#xf…

二分算法(蓝桥杯 C++ 题目 代码 注解)

目录 模板&#xff1a; 题目一&#xff08;分巧克力&#xff09;&#xff1a; 代码&#xff1a; 题目二&#xff08;M次方根&#xff09;&#xff1a; ​编辑代码&#xff1a; 题目三&#xff08;跳石头&#xff09;&#xff1a; 代码&#xff1a; 题目四&#xff08;扫…

LLM RAG系统中消除数据幻觉的几个绝招-OPENAI公司内称的“大招”

前言-什么是数据幻觉&#xff1f;它到底有什么危害呢 我们直接来举例&#xff1a; 我是金银花一区的&#xff0c;附近有什么小学&#xff1f; 此时RAG带出如下信息&#xff1a; 金银花小区一区、二区、三区附近教育资源有&#xff1a;银树大学、建设小学金银花校区、金树高…

左偏树,可并堆详解,OJ练习,代码详解

文章目录 一、左偏树的定义和性质1.1优先队列的定义1.2可并堆的定义1.3左偏树1.3.1左偏树的定义1.3.2左偏树的性质1.3.3左偏树的合并操作1.3.3.1合并操作流程1.3.3.2合并操作的代码实现 1.4左偏树OJ练习1.4.1模板1.4.1.1原题链接1.4.1.2思路分析1.4.1.3AC代码 1.4.2P1552 [APIO…

C++的类与对象(五):赋值运算符重载与日期类的实现

目录 比较两个日期对象 运算符重载 赋值运算符重载 连续赋值 日期类的实现 Date.h文件 Date.cpp文件 Test.cpp文件 const成员 取地址及const取地址操作符重载 比较两个日期对象 问题描述&#xff1a;内置类型可直接用运算符比较&#xff0c;自定义类型的对象是多个…

【Leetcode每日一刷】滑动窗口:209.长度最小的子数组

一、209.长度最小的子数组 1.1&#xff1a;题目 题目链接 1.2&#xff1a;解题思路 题型&#xff1a;滑动窗口&#xff1b;时间复杂度&#xff1a;O(n) &#x1faa7; 滑动窗口本质也是双指针的一种技巧&#xff0c;特别适用于字串问题 ❗❗核心思想/ 关键&#xff1a;左右…

简洁的链式思维(CCoT)提示

原文地址&#xff1a;Concise Chain-of-Thought (CCoT) Prompting 传统的CoT导致了输出令牌使用的增加&#xff0c;而CCoT提示是一种旨在减少LLM响应的冗长性和推理时间的提示工程技术。 2024 年 1 月 24 日 Areas where Chain-Of-Thought-like methodology has been introd…

RabbitMQ - 07 - 通过注解创建队列和交换机

之前消息模型的实现,都是通过rabbitMQ Management 控制台来手动创建 queue 和 exchange 的 在项目开发中有两种方式通过代码声明 创建 一种是通过 Bean 方式,这种代码量较大 稍繁琐 一种是通过注解的方式声明 先编写消费者代码 通过注解绑定了 消息队列,交换机,还有 routin…