欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

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

源代碼

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

文件結(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提供的用于訪問和修改應(yīng)用程序配置數(shù)據(jù)的類。它支持多種格式,包括INI、注冊(cè)表和JSON等。在這個(gè)示例中,使用了INI格式(通過QSettings::IniFormat)。

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

為了將QVariant對(duì)象轉(zhuǎn)換為QString類型,可以調(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類型,以便在后續(xù)的代碼中使用或進(jìn)行其他操作。同樣地,也可以使用類似的方法獲取其他配置項(xiàng)的值。

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

相關(guān)文章

  • C++超詳細(xì)介紹模板

    C++超詳細(xì)介紹模板

    人們需要編寫多個(gè)形式和功能都相似的函數(shù),因此有了函數(shù)模板來減少重復(fù)勞動(dòng);人們也需要編寫多個(gè)形式和功能都相似的類,于是 C++ 引人了類模板的概念,編譯器從類模板可以自動(dòng)生成多個(gè)類,避免了程序員的重復(fù)勞動(dòng)
    2022-07-07
  • C語言單向鏈表的表示與實(shí)現(xiàn)實(shí)例詳解

    C語言單向鏈表的表示與實(shí)現(xiàn)實(shí)例詳解

    這篇文章主要介紹了C語言單向鏈表的表示與實(shí)現(xiàn),需要的朋友可以參考下
    2014-07-07
  • C++中賦值運(yùn)算符與逗號(hào)運(yùn)算符的用法詳解

    C++中賦值運(yùn)算符與逗號(hào)運(yùn)算符的用法詳解

    這篇文章主要介紹了C++中賦值運(yùn)算符與逗號(hào)運(yùn)算符的用法詳解,是C++入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-09-09
  • C++如何實(shí)現(xiàn)DNS域名解析

    C++如何實(shí)現(xiàn)DNS域名解析

    這片文章介紹了C++如何實(shí)現(xiàn)DNS域名解析,還有對(duì)相關(guān)技術(shù)的介紹,代碼很詳細(xì),需要的朋友可以參考下
    2015-07-07
  • 詳解C++中future和promise的使用

    詳解C++中future和promise的使用

    future和promise的作用是在不同線程之間傳遞數(shù)據(jù),這篇文章主要為大家詳細(xì)介紹了C++中future和promise的具體使用,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-05-05
  • C語言 表、棧和隊(duì)列詳解及實(shí)例代碼

    C語言 表、棧和隊(duì)列詳解及實(shí)例代碼

    這篇文章主要介紹了C語言 表、棧和隊(duì)列詳解及實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • C++返回值類型后置實(shí)現(xiàn)(跟蹤返回值類型)

    C++返回值類型后置實(shí)現(xiàn)(跟蹤返回值類型)

    本文主要介紹了C++返回值類型后置實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • C語言?隊(duì)列的實(shí)現(xiàn)全解析

    C語言?隊(duì)列的實(shí)現(xiàn)全解析

    隊(duì)列(Queue)與棧一樣,是一種線性存儲(chǔ)結(jié)構(gòu),它具有如下特點(diǎn):隊(duì)列中的數(shù)據(jù)元素遵循“先進(jìn)先出”(First?In?First?Out)的原則,簡(jiǎn)稱FIFO結(jié)構(gòu)。在隊(duì)尾添加元素,在隊(duì)頭刪除元素
    2022-04-04
  • C語言怎么獲得進(jìn)程的PE文件信息

    C語言怎么獲得進(jìn)程的PE文件信息

    這篇文章主要介紹了C語言怎么獲得進(jìn)程的PE文件信息的相關(guān)代碼,需要的朋友可以參考下
    2016-01-01
  • c++超細(xì)致講解引用

    c++超細(xì)致講解引用

    引用(reference)就是C++對(duì)C語言的重要擴(kuò)充。引用就是某一變量(目標(biāo))的一個(gè)別名,對(duì)引用的操作與對(duì)變量直接操作完全一樣
    2022-05-05

最新評(píng)論