用Qt写一个简单的音乐播放器(二):增加界面(开始和暂停音乐)

一、前言

在用Qt写一个简单的音乐播放器(一):使用QMediaPlayer播放音乐中,我们已经知道如何去使用QMediaPlayer播放音乐。但是一个对于一个音乐播放器来说,这是远远不够的,至少我们需要有一个简单的用户操作界面吧,让用户开业选择开始和暂停吧。那么让我们开始吧。

二、按钮

如图所示,双击mainwindow.ui,进入设计界面。
用Qt写一个简单的音乐播放器(二):增加界面(开始和暂停音乐)_第1张图片
如图所示,Qt的设计界面就长这样。
用Qt写一个简单的音乐播放器(二):增加界面(开始和暂停音乐)_第2张图片
如图所示,在其中button这一栏中,可以看到有很多不同的Button(按钮)。
只是简单的播放暂停我们选择PushButton就可以了,其他的,大家可以自己研究一下。
用Qt写一个简单的音乐播放器(二):增加界面(开始和暂停音乐)_第3张图片
如图所示,选中PushButton,将其拖拽到界面中。
用Qt写一个简单的音乐播放器(二):增加界面(开始和暂停音乐)_第4张图片
然后双击我们界面上的PushButton按钮,将其重命名,Play(播放),Pause(暂停)。
用Qt写一个简单的音乐播放器(二):增加界面(开始和暂停音乐)_第5张图片
选择play按钮,我们可以看到,图中右侧,为了方便我们编程,我们将其名字进行修改:btnPlay(其中,btn为button的缩写,Play为按钮的功能)。同样另一个按钮我们也修改为:btnPause。
用Qt写一个简单的音乐播放器(二):增加界面(开始和暂停音乐)_第6张图片
用Qt写一个简单的音乐播放器(二):增加界面(开始和暂停音乐)_第7张图片

三、代码

界面我们大概就设计好了,那么代码该怎么做呢?
首先先把在(一)里注释的代码解开,把我们写的删掉。

#include "mainwindow.h"
#include 
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();
    return a.exec();
}

用Qt写一个简单的音乐播放器(二):增加界面(开始和暂停音乐)_第8张图片
双击mainwindow.h,如图所示,加上圈起来的两行代码
用Qt写一个简单的音乐播放器(二):增加界面(开始和暂停音乐)_第9张图片
然后,打开设计界面,选中Play,右键,点击转到槽。
用Qt写一个简单的音乐播放器(二):增加界面(开始和暂停音乐)_第10张图片
选择点击clicked后,点击OK。
用Qt写一个简单的音乐播放器(二):增加界面(开始和暂停音乐)_第11张图片
这时候代码自动跳转到mainwindow.cpp,并出现on_btnPlay_clicked()函数。这个函数中就代表着,点下Play按钮后,触发的事件。
用Qt写一个简单的音乐播放器(二):增加界面(开始和暂停音乐)_第12张图片
在on_btnPlay_clicked()中加入以下代码,如图所示

void MainWindow::on_btnPlay_clicked()
{
    if(QMediaPlayer:: PausedState != m_mediaPlayer.state()){
        m_mediaPlayer.setVolume(50);
        m_mediaPlayer.setMedia(QUrl::fromLocalFile("D:\\music\\BIGBANG - LOSER (Live).mp3"));
    }
    m_mediaPlayer.play();
}

用Qt写一个简单的音乐播放器(二):增加界面(开始和暂停音乐)_第13张图片
如法炮制,暂停按钮,双击mainwindow.ui,pause按钮,我们也转到槽,并且在on_btnPause_clicked()中增加如下代码

void MainWindow::on_btnPause_clicked()
{
    if(QMediaPlayer:: PlayingState == m_mediaPlayer.state()){
        m_mediaPlayer.pause();
    }
}

用Qt写一个简单的音乐播放器(二):增加界面(开始和暂停音乐)_第14张图片

四、使用

如下图所示,点击图中的绿色小三角,程序开始构建。
在这里插入图片描述
出现下图,代表构建完成,
点击Play按钮,音乐播放,
点击Pause按钮,音乐暂停。
用Qt写一个简单的音乐播放器(二):增加界面(开始和暂停音乐)_第15张图片

五、拓展

当然,仅有播放和暂停,对于一个音乐播放器来说,还是远远不够的,那么下一篇博客(三)中,增加新的功能。

你可能感兴趣的:(C++,Qt,c++,qt,gui)