资源简介
基于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 pla
文件 5458 2014-01-06 08:28 pla
文件 612 2014-01-06 08:27 pla
文件 487 2014-01-05 10:21 pla
文件 5757 2014-01-06 22:37 pla
文件 1115 2014-01-06 22:00 pla
文件 10296 2014-01-06 22:37 pla
文件 1628 2014-01-06 08:18 pla
文件 596 2014-01-06 18:11 pla
文件 34295 2014-01-07 16:10 pla
文件 4389 2014-01-05 22:02 pla
文件 1166 2013-12-29 15:35 pla
文件 3286 2013-12-29 16:36 pla
文件 1155 2013-12-29 15:36 pla
文件 345 2014-01-05 10:55 pla
文件 201 2014-01-05 10:55 pla
- 上一篇:Unity 3D虚拟现实场景作品
- 下一篇:GPS经纬度转换大地坐标
相关资源
- 酒店管理系统基于Qt Creator5)
- 易语言播放器组件无缝转换(Demo2.e)
- vtk QT做的三维地质可视化系统2of2
- 我做的电子琴,21个音,一般歌曲基本
- DOS播放器 QuickViewPro破解版
- Qt局域网聊天软件
- Qt Creator opengl实现四元数鼠标控制轨迹
- QT局域网聊天系统(基于QT5.修改过)
- qt-电子点菜系统
- C 餐厅叫号系统(QT平)
- js万能播放器,网页播放插件实例
- QT 实现文件下载
- qt图像处理
- QT,JPEG解码源代码(已完成)
- Qt 播放音频文件
- Qt 读取16进制的data文件
- MQTT+串口(usart)透传
- 易语言QQTEA算法源码
- VC工程转Qt工程文件的工具
- MQTT推送Demo
- 基于Linux、QT的视频监控系统的设计与
- Qt 百度地图 定位
- 微信小程序——音乐播放器
- QT酷炫界面开发指南《QmlBook》
- 监控DAV播放器纯绿色免安装版
-
MP3Pla
yer播放器 - 易语言简单的播放器程序源码
- 监控专用MP4文件播放器
- Ubuntu下操作Excel,qt代码
- Qt图片浏览器 --基于Qt的Graphics View f
川公网安备 51152502000135号
评论
共有 条评论