最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

QT實(shí)現(xiàn)讀寫(xiě)ini文件的示例代碼

 更新時(shí)間:2023年07月26日 09:43:02   作者:ICE2302  
.ini文件是Initialization?File的縮寫(xiě),即初始化文件,本文主要給大家介紹了關(guān)于Qt讀寫(xiě)ini文件的相關(guān)方法,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下

最開(kāi)始的需求是使用qt讀取不同電腦上的MySQL的my.ini文件實(shí)現(xiàn)在不同電腦上也可以成功登錄數(shù)據(jù)庫(kù),不用擔(dān)心密碼和用戶名不同的問(wèn)題

到之后發(fā)現(xiàn)其實(shí)并沒(méi)有什么用,因?yàn)閙y.ini文件中默認(rèn)是沒(méi)有user和password項(xiàng)目的看網(wǎng)上說(shuō)是老版本遺留下來(lái)的,我個(gè)人覺(jué)得它的作用可能就是改一下端口號(hào),然后電腦可以同時(shí)存在兩個(gè)版本的數(shù)據(jù)庫(kù),當(dāng)然了可以自己填上去,然后到時(shí)候直接讀也可以之后會(huì)寫(xiě)從數(shù)據(jù)庫(kù)中讀取信息等相關(guān)操作的實(shí)現(xiàn)

源代碼

記得要在.pro文件中加上QT+=sql還有在debug之后加上libmysql.dll動(dòng)態(tài)庫(kù)文件

文件結(jié)構(gòu)

mysql.h

#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include<QWidget>
#include<QSql>
#include<QSqlDatabase>
#include<QDebug>
#include<QSqlQuery>
#include<QSqlRecord>
#include <QSettings>
QT_BEGIN_NAMESPACE
QT_END_NAMESPACE
class Mysql : public QWidget
{
    Q_OBJECT
public:
    Mysql(QWidget *parent = nullptr);
    ~Mysql();
    void init();
    QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL");
    QString sqlname,hostname,sqlpasswd,dbname,sqlport;
private:
};
#endif // MAINWINDOW_H

mysql.cpp

#include "mysql.h"
Mysql::Mysql(QWidget *parent)
    : QWidget(parent)
{
    init();
}
Mysql::~Mysql()
{
}
void Mysql::init()
{
    // 指定my.ini文件路徑
    QString filePath = "E:\\SQL\\MYSQL_DATA\\my.ini";
    // 創(chuàng)建QSettings對(duì)象
    QSettings settings(filePath, QSettings::IniFormat);
    // 讀取MySQL的用戶名和密碼
    sqlname= settings.value("client/user").toString();
    sqlpasswd= settings.value("client/password").toString();
    sqlport=settings.value("client/port").toString();
    // 打印結(jié)果
    qDebug() << "Username:" << sqlname;
    qDebug() << "Password:" << sqlname;
    qDebug() << "Password:" << sqlport;
}

main.cpp

#include "mysql.h"
#include <QApplication>
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Mysql w;
    w.show();
    return a.exec();
}

my.ini文件截圖

運(yùn)行截圖

QSettings

QSettings是Qt提供的用于訪問(wèn)和修改應(yīng)用程序配置數(shù)據(jù)的類(lèi)。它支持多種格式,包括INI、注冊(cè)表和JSON等。在這個(gè)示例中,使用了INI格式(通過(guò)QSettings::IniFormat)。

settings.value(“client/user”)表示從QSettings對(duì)象中獲取名為"client/user"的配置項(xiàng)的值,返回一個(gè)QVariant類(lèi)型的對(duì)象。value函數(shù)接受一個(gè)參數(shù),即指定配置項(xiàng)的路徑(鍵)。在這個(gè)示例中,"client/user"是my.ini文件中存儲(chǔ)用戶名的位置。

為了將QVariant對(duì)象轉(zhuǎn)換為QString類(lèi)型,可以調(diào)用toString()函數(shù)。這將返回一個(gè)QString對(duì)象,內(nèi)容與原始配置項(xiàng)的值相匹配。

因此,settings.value(“client/user”).toString()的意思是從QSettings對(duì)象中獲取"client/user"配置項(xiàng)的值,并將其轉(zhuǎn)換為QString類(lèi)型,以便在后續(xù)的代碼中使用或進(jìn)行其他操作。同樣地,也可以使用類(lèi)似的方法獲取其他配置項(xiàng)的值。

到此這篇關(guān)于QT實(shí)現(xiàn)讀寫(xiě)ini文件的示例代碼的文章就介紹到這了,更多相關(guān)QT讀寫(xiě)ini文件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Qt開(kāi)發(fā)之QTreeWidget的使用教程詳解

    Qt開(kāi)發(fā)之QTreeWidget的使用教程詳解

    這篇文章主要為大家詳細(xì)介紹了Qt中QTreeWidget使用的相關(guān)資料,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Qt有一定的幫助,感興趣的小伙伴可以了解一下
    2022-12-12
  • C++ STL中一些常用算法總結(jié)

    C++ STL中一些常用算法總結(jié)

    都說(shuō)STL是數(shù)據(jù)容器與算法的高度組合,在前面的文章中我們介紹了常見(jiàn)的幾種容器,vector、list、map、deque等,今天我們?cè)賮?lái)介紹下STL中常用的一些算法,需要的朋友可以參考下
    2024-02-02
  • 基于C語(yǔ)言編寫(xiě)一個(gè)簡(jiǎn)單的Web服務(wù)器

    基于C語(yǔ)言編寫(xiě)一個(gè)簡(jiǎn)單的Web服務(wù)器

    C語(yǔ)言可以干大事,這篇文章主要為大家詳細(xì)介紹了如何基于C語(yǔ)言可以完成一個(gè)簡(jiǎn)易的Web服務(wù)器,希望這篇文章會(huì)幫你你對(duì)C語(yǔ)言有更深入的理解
    2024-03-03
  • c語(yǔ)言全局變量和局部變量問(wèn)題及解決匯總

    c語(yǔ)言全局變量和局部變量問(wèn)題及解決匯總

    局部變量能否和全局變量重名,如何引用一個(gè)已經(jīng)定義過(guò)的全局變量,全局變量可不可以定義在可被多個(gè).C文件包含的頭文件中?為什么?,接下來(lái)為您一一介紹
    2013-01-01
  • 使用C++手搓一個(gè)TCP連接管理器

    使用C++手搓一個(gè)TCP連接管理器

    這篇文章主要為大家詳細(xì)介紹了如何使用C++手搓一個(gè)TCP連接管理器,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2025-09-09
  • C++實(shí)現(xiàn)動(dòng)態(tài)數(shù)組功能

    C++實(shí)現(xiàn)動(dòng)態(tài)數(shù)組功能

    這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)動(dòng)態(tài)數(shù)組功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • C語(yǔ)言常用的編輯器你知道幾個(gè)

    C語(yǔ)言常用的編輯器你知道幾個(gè)

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言常用的編輯器,中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-02-02
  • C++ POSIX API超詳細(xì)分析

    C++ POSIX API超詳細(xì)分析

    這篇文章主要介紹了C++ POSIXAPI的使用方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧
    2022-11-11
  • C++ Boost PropertyTree示例超詳細(xì)講解

    C++ Boost PropertyTree示例超詳細(xì)講解

    Boost是為C++語(yǔ)言標(biāo)準(zhǔn)庫(kù)提供擴(kuò)展的一些C++程序庫(kù)的總稱。Boost庫(kù)是一個(gè)可移植、提供源代碼的C++庫(kù),作為標(biāo)準(zhǔn)庫(kù)的后備,是C++標(biāo)準(zhǔn)化進(jìn)程的開(kāi)發(fā)引擎之一,是為C++語(yǔ)言標(biāo)準(zhǔn)庫(kù)提供擴(kuò)展的一些C++程序庫(kù)的總稱
    2022-11-11
  • C++基本用法實(shí)踐之移動(dòng)語(yǔ)義詳解

    C++基本用法實(shí)踐之移動(dòng)語(yǔ)義詳解

    移動(dòng)(move)語(yǔ)義是C++引入了一種新的內(nèi)存優(yōu)化,以避免不必要的拷貝,下面小編就來(lái)和大家簡(jiǎn)單聊聊C++中移動(dòng)語(yǔ)義的相關(guān)使用吧,希望對(duì)大家有所幫助
    2023-07-07

最新評(píng)論

班戈县| 临泉县| 定州市| 广宗县| 民权县| 尤溪县| 南皮县| 通州市| 平定县| 凤山市| 确山县| 清苑县| 江陵县| 车致| 太白县| 凤山县| 临朐县| 堆龙德庆县| 共和县| 信丰县| 尼木县| 家居| 杨浦区| 宣武区| 温州市| 耒阳市| 巴中市| 安宁市| 瓮安县| 邻水| 沽源县| 巴彦县| 大丰市| 盖州市| 肥东县| 沿河| 玉树县| 永川市| 克山县| 师宗县| 福清市|