Qt應用必備模組之軟體全域性配置(單例模式)實現

2021-09-14 04:24:22 字數 1154 閱讀 9549

在大大小小的企業軟體中,少不了配置單元,程式啟動初始化需要載入配置,使用者設定及操作需要儲存配置。qt中可以使用qsetting很方便的實現,並且可以生成.ini配置檔案。為降低程式耦合性,這裡採用單例模式來實現全域性配置。廢話不多說,直接上**。

先看配置檔案示例databae.ini

[database]

path=./database

file=system.db

name=evaluatecenter

user=root

passwd=123456

configdef.h可以這樣

#ifndef configdef_h

#define configdef_h

#include // 配置檔案

#define config_file_name qstring("./config/database.ini")

// database

#define database_path qstring("database/path") //資料庫存放路徑,./為執行程式所在目錄

#define database_file qstring("database/file") //sqlite資料庫檔案

#define database_name qstring("database/name") //資料庫名

#define database_user qstring("database/user") //使用者名稱

#define database_passwd qstring("database/passwd") //密碼

#endif // configdef_h

#include "configdef.h"

}static qvariant getsetting(qstring key)

static void setsetting(qstring key, qvariant value)

static void quit();

private:

private:

static qsettings *settings;};

這裡放在cpp檔案裡進行初始化是為了防止重複包含標頭檔案導致多重定義錯誤編譯不通過。

Qt 之 pro 配置子模組,實現模組化開發

下面是pro檔案中的 sources main.cpp mainwindow.cpp headers mainwindow.h forms mainwindow.ui include pwd common common.pri distfiles 下面是pri檔案中的 includepath pwd...

Qt 之 pro 配置子模組,實現模組化開發

下面是pro檔案中的 sources main.cpp mainwindow.cpp headers mainwindow.h forms mainwindow.ui include pwd common common.pri distfiles 下面是pri檔案中的 includepath pwd...

Qt之pro配置多個子工程 子模組

進行qt專案開發的時候,尤其是大型專案,經常涉及多工程 多模組問題,其主要思想還是模組化,目的是為了降低程式複雜度,使程式設計 除錯和維護等操作簡單化。更多參考 如果需要管理多工程 pro 比如 庫工程 介面工程,其中,每乙個工程均可單獨編譯成功,但存在依賴關係。也就是說,lib2依賴於lib1,而...