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

目录

  • 总体介绍
  • 开发环境
  • 技术介绍
  • 项目目录
  • 项目介绍
  • 特殊说明
  • 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地址

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【笔记】全国大学生GIS应用技能大赛练习总结

该总结笔记为小组成员在练习完毕了历届题目后自我总结的结果,如有不足之处可以在评论区提出,排版较乱往谅解 绘制带空洞的面要素: 法一: 1、矢量化整个区域。2、矢量化空洞区域。3、将矢量化空洞区域进行合并(编辑器…

【MySql学习之路】window环境下MySql安装和安装过程中出现的问题

environment:windows software:mysql 本文主要分享mysql关系型数据库在干净的环境下,第一次安装以及在安装过程中出现的常见问题和解决方法。目前官网给出的安装包有两种格式,一个是msi格式,一个是zip格式的。很多人下了zip格式的解压发现没有setup.exe,面对一堆文件无从…

HTTPS如何保证数据传输的安全性 以及CA签发证书验签

暴力输出: 越看会越深入,睡前难以想通,后深入研究。得之。 有问题 请留言。 ----------追求内心的富足与平和。日行一善。 亓苏姑娘

面试经典150题【61-70】

文章目录 面试经典150题【61-70】61.旋转链表86.分隔链表104. 二叉树的最大深度100.相同的树226.翻转二叉树101.对称二叉树105.从前序与中序遍历序列构造二叉树106.从后序和中序遍历序列构造二叉树117.填充每个节点的下一个右侧节点指针II114.二叉树展开为链表 面试经典150题【…

【软考】图的遍历

目录 1. 概念2. 深度优先搜索2.1 说明2.2 步骤 3. 深度优先搜索例子3.1 无向图3.2 代码示例3.3 结果示例3.4 过程 4. 广度优先搜索4.1 说明4.2 步骤 5. 广度优先搜索例子5.1 无向图5.2 代码示例5.3 结果示例5.4 过程5.5 例题5.5.1 题目1 1. 概念 1.图的遍历是指从某个顶点出发…

Day32-计算机基础2

Day32-计算机基础2 1. 什么是网络拓扑(Network Topology)?2. 网络拓扑3种经典模型2.1 网络拓扑结构-总线型2.2 网络拓扑结构-环形2.3 星型:2.4 网络拓扑结构总结 3.OSI网络模型概念*****3.1 OSI的概念:open system interconnect 开放系统互连…

第五十三天| 1143.最长公共子序列、1035.不相交的线、53. 最大子序和

Leetcode 1143.最长公共子序列 题目链接:1143 最长公共子序列 题干:给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 ,返回 0 。 一个字符串的 子序列 是指这样一个新的字符串&…

CentOS7部署SonarQube 9.9.4 LTS

文章目录 下载地址前置条件安装sonarqube创建用户解压修改sonar.properties配置文件 启动sonarqube开启防火墙端口启动报错访问SonarQube安装汉化包 安装sonar-scanner 下载地址 社区稳定版本 版本依赖关系 Prerequisites and overview (sonarsource.com) 前置条件 JDK11安…

vscode插件-TONGYILingma

通义灵码,是一款基于通义大模型的智能编码辅助工具,提供行级/函数级实时续写、自然语言生成代码、单元测试生成、代码注释生成、代码解释、研发智能问答、异常报错排查等能力,并针对阿里云 SDK/API 的使用场景调优,为开发者带来高…

js之原型链

在JavaScript中,原型链是一种用于实现继承和属性查找的机制。每个对象都有一个内部属性[[Prototype]],这个属性指向创建该对象时使用的构造函数的“prototype"属性。对象的方法和属性定义在它的原型对象上。 1.原型(Prototypes&#xf…

Kafka 面试题及答案整理,最新面试题

Kafka中的Producer API是如何工作的? Kafka中的Producer API允许应用程序发布一流的数据到一个或多个Kafka主题。它的工作原理包括: 1、创建Producer实例: 通过配置Producer的各种属性(如服务器地址、序列化方式等)来…

SQL 注入攻击 - delete注入

环境准备:构建完善的安全渗透测试环境:推荐工具、资源和下载链接_渗透测试靶机下载-CSDN博客 一、注入原理: 对于后台来说,delete操作通常是将对应的id传递到后台,然后后台会删除该id对应的数据。 如果后台没有对接收到的 id 参数进行充分的验证和过滤,恶意用户可能会…

基于Vue的娱讯移动端APP前端设计与实现

目 录 摘 要 Abstract 引 言 1绪论 1.1课题背景及目的 1.1.1移动端APP发展简介 3 1.1.2移动端APP的优势 3 1.2前端开发相关技术 1.2.1前端开发工具介绍 3 1.2.2 前端开发相关技术介绍 4 1.3本章小结 2系统分析 2.1功能需求分析 2.2系统工作流程 2.3本章小结 3系统设…

Breach-2.1

靶场环境说明 该靶场是静态IP地址,需要更改网络配置,攻击机kali做了两张网卡; 信息收集 # nmap -sT --min-rate 10000 -p- 192.168.110.151 -oN port.nmap Starting Nmap 7.94 ( https://nmap.org ) at 2024-02-09 10:47 CST Stats: 0:00:…

2022年我国茶树分布数据以及数据制作过程详细介绍

茶树(Camellia sinensis)是一种典型的农林作物,在60多个国家种植,作为一种重要的特色经济作物,具有重要的经济和社会意义。准确的全国作物数据对于有效的农业管理和资源监管至关重要。然而,许多区域都在努力…

利用Amazon Bedrock畅玩Claude 3等多种领先模型,抢占AI高地(体验倒计时4小时)

快乐的时间总是短暂的,Claude 3 在亚马逊云科技上限时体验仅剩4小时,上次分享了入门级操作教程,本期给大家带来AWS Lambda Amazon Bedrock一起构建可以便捷使用的Claude 3接口 AWS Lambda AWS Lambda 是一项计算服务,可以运行您…

JZ76 删除链表中重复的结点

/*public class ListNode {int val;ListNode next null;ListNode(int val) {this.val val;} } */import java.util.*; public class Solution {public ListNode deleteDuplication(ListNode pHead) {//初步想想法: 弄一个hashmap 然后进行key存储起来。然后 如果存…

[Buuctf] [MRCTF2020] Xor

运行 1.查壳 32位exe文件,没有壳 2.用32位IDA打开 找到main函数,F5查看伪代码,但是这里会弹出一个窗口 函数分析失败!! 这里我在看别人的题解时发现一种玄学方式解决了这个问题 窗口里面弹出了一个地址401095&…

鸿蒙Harmony应用开发—ArkTS声明式开发(模态转场设置:半模态转场)

通过bindSheet属性为组件绑定半模态页面,在组件插入时可通过设置自定义或默认的内置高度确定半模态大小。 说明: 从API Version 10开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 不支持路由跳转。 bindSheet bind…

【工具】Git的介绍与安装

目录 前言 1W:什么是Git? 2W:为什么使用Git? 3W:如何使用Git? Git的安装步骤 测试 3.1 桌面空白部分鼠标右击 3.2 选择 Open Git Bash here 3.3 输入 git -v 命令查看版本 Git区域分布 Git的工作…