日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Qt视频直播软件--项目实战(Day3)

發布時間:2024/8/1 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。