• 大小: 14KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-10
  • 语言: 其他
  • 标签: QT  播放器  

资源简介

基于QT的音频播放器修改自qt5-doc

资源截图

代码片段和文件信息

#include “connection.h“
#include 
#include 
#include 
#include 

Connection::Connection(Qobject *parent) :
    Qobject(parent)
{
    db = QSqlDatabase::addDatabase(“QSQLITE“);
    db.setDatabaseName(“media.db“);

    if(db.open())
        createTables();
    else
        errMsg = “Can‘t open db“;
}

void Connection::createTables()
{
    QSqlQuery query(db);
    if(!query.exec(“select * from musicgroup;“))
    {
        qDebug()<<“Do not have db“;

        assert(query.exec(“create table musicgroup(id integer primary keygroupname text);“));
        assert(query.exec(“create table music(id integer primary keymusicname text albumname textalbumpicpath textcomposer textadddate textsinger texturl text NOT NULL uniquelrc text);“));
        assert(query.exec(“create table playlist(groupid integermusicid integerforeign key(groupid) references musicgroup(id)foreign key(musicid) references music(id))“));
    }
    else
    {
        qDebug()<<“Aready have db“;
    }
 }


bool Connection::insertMusic(QMap map)
{
    QSqlQuery query(db);
    query.exec(“select max(id) from music“);

    if(query.next())
    {
        int id = query.value(“max(id)“).toInt();id++;qDebug()<        map[“id“]==““?id=id:id=map[“id“].toInt();
        QDateTime dt;
        QTime time;
        QDate date;
        dt.setTime(time.currentTime());
        dt.setDate(date.currentDate());

        QString sql =“insert into music(idmusicnamealbumnamealbumpicpathcomposeradddatesingerurllrc) values(‘“+QString::number(id10)+“‘‘“+map[“musicname“]+“‘‘“+map[“albumname“]+“‘‘“+map[“albumpicpath“]+“‘‘“+map[“composer“]+“‘‘“+dt.toString(“yyyy:MM:dd:hh:mm:ss“)+“‘‘“+map[“singer“]+“‘‘“+map[“url“]+“‘‘“+map[“lrc“]+“‘)“;
        qDebug()<
        QSqlQuery insert(db);
        if(insert.exec(sql))
                return true;
        else
            throw QString(“Please don‘t add the same music!“);
    }
    throw QString (“FATAL DB BUG!“);
    return false;
}

QStringList Connection::getKeys(QString key)
{
    QStringList list;
    QSqlQuery query(db);
    if(key == “groupname“)
    {
        QString str = “SELECT distinct “+key+“ FROM musicgroup“;
        query.exec(str);
        while(query.next())
        {
            list.append(query.value(0).toString());
        }
        return list;
    }
    else if(key == “adddate“)
    {
        QString str = “SELECT distinct substr(“+key+“110) FROM music“;
        query.exec(str);
        while(query.next())
        {
            list.append(query.value(0).toString());
        }
        return list;
    }
    else
    {
        QString str = “SELECT distinct “+key+“ FROM music“;
        query.exec(str);
        while(query.next())
        {
            list.append(query.value(0).toString());
        }
        return list;
    }
}

QList > Connection::search(QString infQString key)
{
    QSqlQuery query;
    QString str = (key == “musicgroup“)?“

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2014-01-07 16:10  player\
     文件        5458  2014-01-06 08:28  player\connection.cpp
     文件         612  2014-01-06 08:27  player\connection.h
     文件         487  2014-01-05 10:21  player\main.cpp
     文件        5757  2014-01-06 22:37  player\mediacenter.cpp
     文件        1115  2014-01-06 22:00  player\mediacenter.h
     文件       10296  2014-01-06 22:37  player\player.cpp
     文件        1628  2014-01-06 08:18  player\player.h
     文件         596  2014-01-06 18:11  player\player.pro
     文件       34295  2014-01-07 16:10  player\player.pro.user
     文件        4389  2014-01-05 22:02  player\playercontrols.cpp
     文件        1166  2013-12-29 15:35  player\playercontrols.h
     文件        3286  2013-12-29 16:36  player\playlistmodel.cpp
     文件        1155  2013-12-29 15:36  player\playlistmodel.h
     文件         345  2014-01-05 10:55  player\videowidget.cpp
     文件         201  2014-01-05 10:55  player\videowidget.h

评论

共有 条评论