成都理工大学Qt课程设计实验报告-基于QT实现的简易音乐播放器 联系客服

发布时间 : 星期一 文章成都理工大学Qt课程设计实验报告-基于QT实现的简易音乐播放器更新完毕开始阅读032c5090541810a6f524ccbff121dd36a32dc4cd

{

QMenu *fileMenu = menuBar()->addMenu(tr(\文件\ fileMenu->addAction(addFilesAction); }

最终功能效果如图:

2,显示播放时间功能

void MainWindow::tick(qint64 time) {

QTime displayTime(0, (time / 60000) % 60, (time / 1000) % 60); timeLcd->display(displayTime.toString(\}

功能效果如图:

3,播放进度条功能

seekSlider = new Phonon::SeekSlider(this); seekSlider->setMediaObject(mediaObject); QHBoxLayout *seekerLayout = new QHBoxLayout; seekerLayout->addWidget(seekSlider

9

功能效果如图:

4,播放控制功能

void MainWindow::setupActions() {

playAction = new QAction(style()->standardIcon(QStyle::SP_MediaPlay), tr(\ playAction->setDisabled(true);//设置初始不可点击

pauseAction=newQAction(style()->standardIcon(QStyle::SP_MediaPause),tr(\ pauseAction->setDisabled(true); //设置初始不可点击

stopAction = new QAction(style()->standardIcon(QStyle::SP_MediaStop), tr(\

stopAction->setDisabled(true); //设置初始不可点击 //连接槽函数

connect(playAction, SIGNAL(triggered()), mediaObject, SLOT(play())); connect(pauseAction, SIGNAL(triggered()), mediaObject, SLOT(pause()) ); connect(stopAction, SIGNAL(triggered()), mediaObject, SLOT(stop())); connect(addFilesAction, SIGNAL(triggered()), this, SLOT(addFiles())); }

将播放控制按钮添加到窗体,使用QToolBar类的bar指针布局 QToolBar *bar = new QToolBar; bar->addAction(playAction); bar->addAction(pauseAction); bar->addAction(stopAction);

功能效果如图:

10

5,音量滑块功能

volumeSlider = new Phonon::VolumeSlider(this); volumeSlider->setAudioOutput(audioOutput);

volumeSlider->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum); QToolBar *bar = new QToolBar;

QHBoxLayout *playbackLayout = new QHBoxLayout; playbackLayout->addWidget(bar);

playbackLayout->addWidget(volumeSlider);

功能效果如图:

6,换肤功能

QPushButton *PbChange;//换肤按钮 PbChange = new QPushButton(\换肤\

connect(PbChange,SIGNAL(clicked()),this,SLOT(slotChange()));

//槽函数,每一个随机数对应一种事件,换背景图片 void MainWindow::slotChange() {

int i= myRand(miGrade); switch (i) { case 0:

setStyleSheet(\ break; case 1:

setStyleSheet(\

11

break; case 2:

setStyleSheet(\ break; case 3:

setStyleSheet(\ break;default: break; }

int MainWindow::myRand(int max)//产生4以内的随机正整数 {

max = 4; int r = qrand(); return r%max; }

7.点击事件

void MainWindow::tableClicked() {

bool wasPlaying = mediaObject->state() == Phonon::PlayingState; mediaObject->stop(); mediaObject->clearQueue(); if (wasPlaying) mediaObject->play(); else

mediaObject->stop(); }

8.主窗口设置

QWidget *widget = new QWidget; widget->setLayout(mainLayout);

12