Qt视频直播软件--项目实战(Day3)
第三天项目日记
1、今日总结
今天继续写服务器
1)客户端要有一个登录的功能,所以服务器要连接数据库(这里用的时sqlite3)
2)实现了数据库的单例
3)在启动客户端时如果没有该数据库就创建该数据库,创建的数据库在程序运行路径
4)如果数据库中没有用户表就创建表
2、设计思路
因为数据库只有一个并且只有服务器会用,所以就直接写成单例模式,并且写自己的函数接口,供主窗口函数调用。
3、代码说明
dbhelper.h
#ifndef DBHELPER_H
#define DBHELPER_H#include <QObject>
#include <QWidget>
#include <QtSql/QSqlDatabase>
#include <QSqlQuery>
#include <QSqlError>class dbhelper
{private:dbhelper(QString driver);static dbhelper* instance;QSqlDatabase *db;
// QSqlQuery *query;QString driver;
public:static dbhelper *getIntance(QString);//传递驱动void setDatabaseName(QString); //传递路径void create_user_table();//创建表bool open();//打开void close();//关闭
};#endif // DBHELPER_H
dbhelper.cpp
#include "dbhelper.h"
#include <QDebug>dbhelper::dbhelper(QString driver)
{db = new QSqlDatabase;*db = QSqlDatabase::addDatabase(driver);
}dbhelper *dbhelper::getIntance(QString driver)
{if(instance == NULL){instance = new dbhelper(driver);instance->driver = driver;}return instance;
}void dbhelper::setDatabaseName(QString db_path)
{QString db_name = db_path + "/db.db";db->setDatabaseName(db_name);
}void dbhelper::create_user_table()
{QSqlQuery query(*db);query.exec("CREATE TABLE IF NOT EXISTS user (""id INTEGER PRIMARY KEY AUTOINCREMENT, ""name VARCHAR(50) NOT NULL, ""pswd VARCHAR(50) NOT NULL, ""state INTEGER DEFAULT(0))");
}bool dbhelper::open()
{bool ret = db->open();return ret;
}void dbhelper::close()
{db->close();
}
其他
添加服务器退出时的日志,只有开启时,再退出才会写关闭日志
写到析构函数里面
增加了一个事件显示label用来QTimer用来显示实时事件
数据库的初始化
4、项目文件
源代码链接.
5、效果展示
测试如下,在没有数据库的情况下,自动生成数据库数据表。
点击关闭之后会记录日志
当前时间也会一直显示
有一个小问题就是关闭mainwindow之后程序还没有退出,需要重写一下closeEvent即可
,代码中已经进行了修改。
6、每日总结
学会使用的Qt库 QSqlDatabase QSqlQuery QSqlError
有志者,事竟成!!!!!!
Qt视频直播软件--项目实战(Day3)相关推荐
- 不一样的短视频直播软件开发?
在短视频行业中,短视频直播app软件中抖音是最为经典的案例,随着目前视频行业的爆发式增长,他很快的成为用户拍摄短视频的首选,如果说有什么项目最火,我想应该是微视了,以前的快手,现在的抖音,反正我没事的 ...
- 视频直播软件开发中关于极光用户修改 [头像、昵称] 的教程
视频直播软件开发中一定会用到推送或IM即时通讯,但是正常情况下更新用户信息只会更新数据库的信息,并不会同步更新到服务器,那么接下来我们就以极光为例,讲述该如何修改用户头像及昵称.基本步骤如下: 1.上 ...
- 视频直播软件开发关于亚马逊s3接入方式,视频直播源码创建存储桶方法
一.登录亚马逊账户,进入S3 建立新的存储桶,用于视频直播源码的文件存储. 注册 Amazon S3 后,您就可以开始使用 AWS 管理控制台 创建存储桶.Amazon S3 中的每个对象都存储在存储 ...
- 视频直播软件开发过程中需要解决的“老朋友”...
要说在视频直播软件开发的过程中,什么是技术人员最头疼的?肯定有人会毫无疑问的回答:直播的卡顿和延时!没错,这两位可以说是直播中的"老朋友"了.毫不夸张的说,每一个直播平台都遇到过这 ...
- 如何评判在线直播源码优劣?视频直播软件开发经验之谈
直播经过这些年的不断发展,使用者逐渐增加,在视频直播软件开发行业从业者的不断努力下,在线直播源码变得越来越完善,甚至已有了一些开发窍门的积累和判断视频直播软件优劣性的指标,本篇文章就来讲讲,该如何评判 ...
- 一对一直播源码 一对一视频直播软件未来发展趋势
一对一视频直播软件对比传统直播平台,直播方式更简单自由,同时也更加私密,比传统直播平台更能保护用户私密,又能增加主播与用户之间的互动. 一对一视频直播的方式颠覆了人们对传统直播的看法,一对一直播凭借高 ...
- 视频直播软件未来发展的方向有哪些
现在使用视频直播软件的人群非常多,很多人把把它当成是一种娱乐的方式,很多人可以一起参与进去,不受距离的影响,就像面对面可以看到影像和听到声音,可以进行互相的交流,或者是做游戏等等.将来他还会有更多的发 ...
- 目前国内p2p视频直播软件
目前国内p2p视频直播软件 名称 官方网址 评价[来自于http://family.chinaok.com/2005-12/15338.htm] synacast http://www. ...
- 在视频直播软件开发中,这样做才能实现svga格式礼物动画
在线直播源码中,礼物功能的开发是必不可少的,它不但可以作为用户对主播的喜爱度的评判标准,还是直播平台变现的方式之一,那么在直播源码中,svga格式礼物动画是如何实现的呢?以云豹的金山demo为例,实现 ...
- 【网络通信 -- 直播】项目实战记录 -- 弱网模拟工具
[网络通信 -- 直播]项目实战记录 -- 弱网模拟工具 [1]Windows 系统中弱网模拟工具 Windows 系统中可以使用 Clumsy 工具模拟弱网环境 Lag(延迟),把数据包缓存一段时间 ...
最新文章
- 手把手教你 MongoDB 的安装与详细使用(一)
- 69:shell脚本介绍 | shell脚本结构 | 执行data命令用法 | shell脚本中变量
- linix终端输入mysql,Linux服务器如何进入 MySQL 命令行
- Felgo之初体验--安装与运行
- C++开源库大全(转)
- 2009年SOA七大预测:SOA借力云计算
- 大数据时代,如何才能提高自身竞争力?
- 56PY宿迁味道这么可口
- 【Python】python学习笔记day1
- python元组怎么使用_Python 2.7 学习笔记 元组的使用
- 摩拜前端周刊第10期
- 华为手机像素密度排行_最新手机性能排行榜出炉:高通骁龙865霸榜,前十不见华为!...
- java dental chart,DentalChart Backup Utility
- 电子商务平台的搭建技巧与成功案例资料集
- STS代码式预付费用电管理系统
- 手把手教你如何进行内网渗透
- python时间格式毫秒_Python获取秒级时间戳与毫秒级时间戳
- 互联网日报 | 2月8日 星期一 | 乐视回应App图标“欠122亿”;中国联通成立联通数科;高德地图上线13万个旅游厕所信息...
- 常用URLscheme整理+不同场景下打开URLscheme的方法
- 算法的陷阱:超级平台、算法垄断与场景欺骗