QT音乐播放器⑥----Windows Docker安装、云音乐API部署、网络请求
简介:
基于QT5.12版本的Quick QML项目----恋羽音乐播放器(爆肝中......)
上一讲效果:
音乐播放器第⑤部分效果
ps:如有错误,欢迎指出^\/^
原视频出处:https://b23.tv/gFnMsLg
一、Windows Docker安装
根据电脑型号来选择下载:

新建文件夹,命名Docker用于存放安装程序:

在Docker文件夹下新建“installpack”文件夹,将刚刚下载的.exe文件剪贴至此处:

右键.exe文件,以管理员身份运行,保持默认选项->OK:

等待,此过程约3分钟

安装完成,点击“Close and restart”重启电脑:

重启完成
在此界面回车->选择“是”

等待,此过程约12分钟:

等待过程中,在以下界面内选择“Accept”:

->选择continue with out signing in(不注册账号直接使用)->

->点击右上角退出:

等待下载......
下载完成:
回车退出,搜索“WSL”,确认电脑有了WSL系统:

搜索cmd,进入,对WSL进行配置:

输入wsl ->回车:

输入命令:
wsl.exe --list --online
回车:

输入命令:
wsl.exe --install Ubuntu-22.04
回车,等待22:20--:

搜索“功能”:

查看是否有hyper/v服务:

没有,则开启服务:
服务开启参考链接:https://blog.csdn.net/zhengaga/article/details/140054923
重新打开docker:

点击“Sign up”注册/登录,登录完成会出现如下界面:

打开cmd,测试docker命令,依次输入以下命令:
1 docker -v
2 docker ps //查看正在运行的容器
3 docker images //查看镜像

二、docker部署音乐搜索的API服务
1.镜像下载
在cmd中输入命令行,拉取镜像:
docker pull binaryify/netease_cloud_music_api
回车,等待镜像下载:
下载完成:

2.网易云API部署
输入以下命令:
docker images

有binaryify哪一行即拉取完成
输入以下命令行(守护式运行,端口--3000):
docker run -d -p 3000:3000 --name music binaryify/netease_cloud_music_api
回车,它就运行起来了:

3.检验是否运行成功
随意打开一个浏览器,在最上方网址输入栏输入:
localhost:3000

回车,看到以下界面即成功运行:

点击“1.搜索”:
在上方网页搜索栏将“海阔天空”改成自己想要搜索的歌曲/歌手,如“薛之谦”,回车,可以看到下面
都是改歌手唱过的歌曲:

勾选左上角“优质打印”,可以更清晰地看到:

4.如何关闭 music API服务
cmd输入以下代码查看运行起来的容器:
docker ps

关闭服务则键入docker stop "name",例如,此时想关闭音乐API服务,输入:
docker stop music
回车,服务就关闭了:

此时,就无法再进入localhost:3000的网页:

5.如何关闭 music API
输入命令:
docker start music
回车:

再键入docker ps即可查看到刚刚运行的容器:

6.如何删除 music API
依次输入以下命令并回车:
关闭music API :
docker stop music
移除:
docker rm music
查看镜像:
docker images
查看所有容器(包括运行的和没有运行的):
docker ps -a
删除镜像命令----docker rmi "IMAGE ID":
docker rmi 42e7d2bf4a70
回车:

检查镜像是否被删除:
docker images
回车:

删除成功
7.使用docker镜像
(1)重新拉取镜像:
docker pull binaryify/netease_cloud_music_api
(2)获取端口:
docker run -d -p 3000:3000 --name music binaryify/netease_cloud_music_api
(3)查看容器
docker ps
(4)查看镜像
docker images
(5)浏览器搜索网页localhost:3000,有以下页面即启用成功:

三、Qt网络请求
1.创建新类--HttpUtils
右键项目根目录->"Add New"2,

->C++->C++ Class->choose:

命名“HttpUtils”,Base Class选择:QObject->“下一步”:

->完成:


2.包含头文件
#include <QNetworkAccessManager>
#include <QNetworkReply>

3.编码
(1)在httputils.h文件中添加网络管理器:

在httputils.c文件中开辟manager的指针空间:
manager = new QNetworkAccessManager(this); //开辟空间
链接信号与槽;

其中finished()的返回值可以将鼠标光标拖动到finish函数处,Ctrl+左键即可看见:

在.h文件中添加槽函数声明(此处用Q_INVOKABLE方式声明,这样可以qml里面就可以实时监听,调用函数)
Q_INVOKABLE 宏用于修饰成员函数,使其能够被元对象系统调用:

Alt+Enter在.cpp文件中添加定义:

(2)先读取网络请求的返回值数据:

在.h文件中声明信号replySignal:

(3)发起http请求:
在.h文件中添加新函数:

设置默认域名:

在.cpp文件中实现connect(QString url)函数:

网络请求流程说明:
用request设置请求的网络地址,manager发起get请求,reques的值再给到manager,请求借宿之后会有一个结束的信号finished,有了此信号就会激发槽函数replyFinished()
(4)在main.cpp里面进行注册:
导入头文件:

在主函数加入如下代码:
/* 网络请求:注册 */
qmlRegisterType<HttpUtils>("MyUtils", 1, 0, "HttpUtils");
其中:
参数①:命名空间;参数②:主版本号;参数③:次版本号;参数④:qml格式的文件名

(5)在main.qml文件中注册
引入模块:
import MyUtils 1.0 //网络请求
在主窗口中进行注册:

在自己电脑搜索栏输入cmd,输入:
docker ps -a
检查运行状态(如下图所示,为停止状态)
故输入以下命令,启用music:
docker start music
再输入以下命令,查看是否成功拉起:
docker ps

成功拉起后,即可回到Qt界面,Ctrl+R运行:

可以看到应用程序输出栏已经打开了localhost:3000页面
至此,QT Quick QML项目音乐播放器第六部分----Windows Docker安装、云音乐API部署、网络请求完成,感谢您的阅读!
更多推荐



所有评论(0)