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