第三天项目日记

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)相关推荐

  1. 不一样的短视频直播软件开发?

    在短视频行业中,短视频直播app软件中抖音是最为经典的案例,随着目前视频行业的爆发式增长,他很快的成为用户拍摄短视频的首选,如果说有什么项目最火,我想应该是微视了,以前的快手,现在的抖音,反正我没事的 ...

  2. 视频直播软件开发中关于极光用户修改 [头像、昵称] 的教程

    视频直播软件开发中一定会用到推送或IM即时通讯,但是正常情况下更新用户信息只会更新数据库的信息,并不会同步更新到服务器,那么接下来我们就以极光为例,讲述该如何修改用户头像及昵称.基本步骤如下: 1.上 ...

  3. 视频直播软件开发关于亚马逊s3接入方式,视频直播源码创建存储桶方法

    一.登录亚马逊账户,进入S3 建立新的存储桶,用于视频直播源码的文件存储. 注册 Amazon S3 后,您就可以开始使用 AWS 管理控制台 创建存储桶.Amazon S3 中的每个对象都存储在存储 ...

  4. 视频直播软件开发过程中需要解决的“老朋友”...

    要说在视频直播软件开发的过程中,什么是技术人员最头疼的?肯定有人会毫无疑问的回答:直播的卡顿和延时!没错,这两位可以说是直播中的"老朋友"了.毫不夸张的说,每一个直播平台都遇到过这 ...

  5. 如何评判在线直播源码优劣?视频直播软件开发经验之谈

    直播经过这些年的不断发展,使用者逐渐增加,在视频直播软件开发行业从业者的不断努力下,在线直播源码变得越来越完善,甚至已有了一些开发窍门的积累和判断视频直播软件优劣性的指标,本篇文章就来讲讲,该如何评判 ...

  6. 一对一直播源码 一对一视频直播软件未来发展趋势

    一对一视频直播软件对比传统直播平台,直播方式更简单自由,同时也更加私密,比传统直播平台更能保护用户私密,又能增加主播与用户之间的互动. 一对一视频直播的方式颠覆了人们对传统直播的看法,一对一直播凭借高 ...

  7. 视频直播软件未来发展的方向有哪些

    现在使用视频直播软件的人群非常多,很多人把把它当成是一种娱乐的方式,很多人可以一起参与进去,不受距离的影响,就像面对面可以看到影像和听到声音,可以进行互相的交流,或者是做游戏等等.将来他还会有更多的发 ...

  8. 目前国内p2p视频直播软件

    目前国内p2p视频直播软件  名称  官方网址  评价[来自于http://family.chinaok.com/2005-12/15338.htm]    synacast  http://www. ...

  9. 在视频直播软件开发中,这样做才能实现svga格式礼物动画

    在线直播源码中,礼物功能的开发是必不可少的,它不但可以作为用户对主播的喜爱度的评判标准,还是直播平台变现的方式之一,那么在直播源码中,svga格式礼物动画是如何实现的呢?以云豹的金山demo为例,实现 ...

  10. 【网络通信 -- 直播】项目实战记录 -- 弱网模拟工具

    [网络通信 -- 直播]项目实战记录 -- 弱网模拟工具 [1]Windows 系统中弱网模拟工具 Windows 系统中可以使用 Clumsy 工具模拟弱网环境 Lag(延迟),把数据包缓存一段时间 ...

最新文章

  1. 手把手教你 MongoDB 的安装与详细使用(一)
  2. 69:shell脚本介绍 | shell脚本结构 | 执行data命令用法 | shell脚本中变量
  3. linix终端输入mysql,Linux服务器如何进入 MySQL 命令行
  4. Felgo之初体验--安装与运行
  5. C++开源库大全(转)
  6. 2009年SOA七大预测:SOA借力云计算
  7. 大数据时代,如何才能提高自身竞争力?
  8. 56PY宿迁味道这么可口
  9. 【Python】python学习笔记day1
  10. python元组怎么使用_Python 2.7 学习笔记 元组的使用
  11. 摩拜前端周刊第10期
  12. 华为手机像素密度排行_最新手机性能排行榜出炉:高通骁龙865霸榜,前十不见华为!...
  13. java dental chart,DentalChart Backup Utility
  14. 电子商务平台的搭建技巧与成功案例资料集
  15. STS代码式预付费用电管理系统
  16. 手把手教你如何进行内网渗透
  17. python时间格式毫秒_Python获取秒级时间戳与毫秒级时间戳
  18. 互联网日报 | 2月8日 星期一 | 乐视回应App图标“欠122亿”;中国联通成立联通数科;高德地图上线13万个旅游厕所信息...
  19. 常用URLscheme整理+不同场景下打开URLscheme的方法
  20. 算法的陷阱:超级平台、算法垄断与场景欺骗

热门文章

  1. 种子填充算法c语言代码实现,OpenGL绘图实例三之种子填充算法
  2. 显示器提示超频的解决办法
  3. 对抗样本(三)FGSM
  4. MAC 用配置设置解决vscode中文乱码问题
  5. F2FS文件系统论文解读
  6. android 播放语音anr,Android语音合成出现ANR
  7. python判断键盘输入_python实时检测键盘输入函数的示例
  8. 【3】基于深度神经网络的脑电睡眠分期方法研究(数据集分类)
  9. 2022新版X站模板 二开苹果cms视频网站源码可封装app(学习教程)
  10. 扫描仪标准模板滑动采集图像及其处理