最近一直在看Qt5,但网上资源真是少得可怜,自己买了本书,《Qt5开发实战》,说实话没点用,就粗浅的讲了点,所以告诫大家不值得购买,《Qt5开发及实例》到是不错,自己看Qmediaplayer的文档,以及参照网上已有的音乐播放器,写了个自己的音乐播放器,基本实现了本地音乐的播放。下面是源码,可能有很多的BUG,大家可以指出,一起进步,
源码在Qt5.3,5.5都是可以运行的。
项目代码分享:http://pan.baidu.com/s/1hqPppWS
有疑问也可以密我
先发效果图:
下面是核心代码:
#include “musicwidget.h”
musicWidget::musicWidget(QWidget *parent)
:QWidget(parent)
{
playflag=true;
volumeflag=true;
this->setWindowFlags(Qt::FramelessWindowHint);
//this->setAttribute(Qt::WA_TranslucentBackground);//背景透明
this->setWindowIcon(QIcon(“:images/icon.png”));
this->setMaximumSize(300,600);
this->setMinimumSize(300,600);
QPixmap pix1(“:images/5.png”);
pix1=pix1.scaled(this->width(),this->height());
this->setAutoFillBackground(true);
QPalette palette;
palette.setBrush(QPalette::Background, QBrush(QPixmap(pix1)));
this->setPalette(palette);
namelabel=new QLabel;
slider=new QSlider(Qt::Horizontal);
slider->setValue(0);
slider->setMaximum(100);
slider->setFixedSize(300,20);
playBtn=new QPushButton;
playBtn->setIcon(style()->standardIcon(QStyle::SP_MediaPlay));
playBtn->setMaximumSize(50,30);
playBtn->setFlat(true);
playBtn->setStatusTip(tr("播放"));
findedit=new QLineEdit;
findedit->setMaximumSize(200,25);
findedit->setMinimumSize(200,25);
findBtn=new QPushButton;
findBtn->setIcon(QIcon(":/images/search.png"));
findBtn->setMaximumSize(50,30);
findBtn->setFlat(true);
QHBoxLayout* findlayout=new QHBoxLayout;
findlayout->addWidget(findedit);
findlayout->addWidget(findBtn);
tablewidget=new QTableWidget;
tablewidget->setColumnCount(3);
tablewidget->setFrameShape(QFrame::NoFrame);
tablewidget->setShowGrid(false);
QPalette pale;
pale.setBrush(QPalette::Base,QColor(255,255,255,0));
tablewidget->setPalette(pale);
tablewidget->setSelectionMode(QAbstractItemView::SingleSelection); // 设置选择的模式为单选择
tablewidget->setSelectionBehavior(QAbstractItemView::SelectRows); //设置每次选一行
QWidget* widget1=new QWidget;
QWidget* widget2=new QWidget;
tabwidget=new QTabWidget;
tabwidget->addTab(tablewidget,tr("默认列表"));
tabwidget->addTab(widget1,tr("电台"));
tabwidget->addTab(widget2,t