发布时间 : 星期一 文章成都理工大学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