admin管理员组文章数量:1130349
Qt 音乐播放器
概述
模仿网易云音乐手机界面使用 Qt Creator 4.9.0 (Enterprise) 实现的音乐播放器,主要功能有切换歌曲,上一首,下一首,暂停,播放,开关歌词显示,以及音乐播放模式,包括(列表顺序,单曲循环,随机播放),以及音量条,音乐进度条的拖拽和定位点击,系统菜单栏提示,系统菜单栏图标。
系统菜单栏提示
使用读取XML数据,用代码判断时间,对应显示问候语,在工程config/initializationConfig.xml当中,包括记录下用户上次播放时间,播放音乐,以及音量,再次打开软件时会加载。
UI
从写了标题栏以及基类窗口,在整个程序中没有使用Qt设计师工具,其UI布局采用代码书写,包括UI风格,在整个UI中,使用子线程cachethread.h缓存背景图(高斯模糊处理碟片封面后的图片)由gaussianblur.h文件完成,在启动程序的时候执行,子线程thread.h更新歌曲播放时间,和歌词显示,整个程序共创建2个子线程对象,以及一个定时器在GUI线程中刷新碟片的转动和摇杆的动作,
其中标题栏主要实现功能主要有
进行最小化、最大化/还原、关闭操作
进行鼠界面的拖动
标题栏图标
标题栏名称
整个窗口随标题栏移动代码Demo
//整个窗口随标题栏移动
void TitleWindow::mousePressEvent(QMouseEvent *event)
{
#ifdef Q_OS_WIN
//释放对鼠标的捕获消息
if (ReleaseCapture())
{
QWidget *pWindow = this->window();
if (pWindow->isTopLevel())
{
SendMessage(HWND(pWindow->winId()), WM_SYSCOMMAND, SC_MOVE + HTCAPTION, 0);
}
}
event->ignore();
#else
#endif
}
基类窗口主要实现功能有
阴影窗口(窗口四边的阴影效果)
设置窗口圆角(窗口四边圆角效果)
自定义背景
窗口阴影效果代码Demo
void Basiwindow::setWindowEffect(int w,int h)
{
m_EffectWindow = new QWidget();
m_EffectWindow->resize(w,h);
//窗口垂直布局
QVBoxLayout *pLayout = new QVBoxLayout();
pLayout->addWidget(this);
m_EffectWindow-></Qt 音乐播放器
概述
模仿网易云音乐手机界面使用 Qt Creator 4.9.0 (Enterprise) 实现的音乐播放器,主要功能有切换歌曲,上一首,下一首,暂停,播放,开关歌词显示,以及音乐播放模式,包括(列表顺序,单曲循环,随机播放),以及音量条,音乐进度条的拖拽和定位点击,系统菜单栏提示,系统菜单栏图标。
系统菜单栏提示
使用读取XML数据,用代码判断时间,对应显示问候语,在工程config/initializationConfig.xml当中,包括记录下用户上次播放时间,播放音乐,以及音量,再次打开软件时会加载。
UI
从写了标题栏以及基类窗口,在整个程序中没有使用Qt设计师工具,其UI布局采用代码书写,包括UI风格,在整个UI中,使用子线程cachethread.h缓存背景图(高斯模糊处理碟片封面后的图片)由gaussianblur.h文件完成,在启动程序的时候执行,子线程thread.h更新歌曲播放时间,和歌词显示,整个程序共创建2个子线程对象,以及一个定时器在GUI线程中刷新碟片的转动和摇杆的动作,
其中标题栏主要实现功能主要有
进行最小化、最大化/还原、关闭操作
进行鼠界面的拖动
标题栏图标
标题栏名称
整个窗口随标题栏移动代码Demo
//整个窗口随标题栏移动
void TitleWindow::mousePressEvent(QMouseEvent *event)
{
#ifdef Q_OS_WIN
//释放对鼠标的捕获消息
if (ReleaseCapture())
{
QWidget *pWindow = this->window();
if (pWindow->isTopLevel())
{
SendMessage(HWND(pWindow->winId()), WM_SYSCOMMAND, SC_MOVE + HTCAPTION, 0);
}
}
event->ignore();
#else
#endif
}
基类窗口主要实现功能有
阴影窗口(窗口四边的阴影效果)
设置窗口圆角(窗口四边圆角效果)
自定义背景
窗口阴影效果代码Demo
void Basiwindow::setWindowEffect(int w,int h)
{
m_EffectWindow = new QWidget();
m_EffectWindow->resize(w,h);
//窗口垂直布局
QVBoxLayout *pLayout = new QVBoxLayout();
pLayout->addWidget(this);
m_EffectWindow-></版权声明:本文标题:Qt音乐播放器 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://it.en369.cn/jiaocheng/1754990529a2751185.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。


发表评论