Qt ini配置文件

ini文件用于保存用户的设置操作,下列以背景颜色设置为例子

暂时默认设置为白色背景

这段代码放置在主窗口的构造函数中,用于初始化读取ini文件

cpp 复制代码
    QString color;
    //第一个参数在我这里ini文件时相对路径需要放在工程中,也可以写绝对路径
    QSettings *set = new QSettings("color.ini",QSettings::IniFormat);
    set->beginGroup("backgroundcolor");
    color = set->value("color","").toString();
    set->endGroup();
    delete  set;

    this->setStyleSheet(QString("background:'%1'").arg(color));

对应点击按钮的槽函数:

cpp 复制代码
void MainWindow::on_pushButton_clicked()
{
    QColor color;
    color = QColorDialog::getColor(Qt::white,this," Choose color",QColorDialog::ShowAlphaChannel);
    
    if(color.isValid()){  //如果颜色无效则不保存。
        this->setStyleSheet(QString("background:'%1'").arg(color.name()));

        QSettings *set  = new QSettings("color.ini",QSettings::IniFormat);
        set->beginGroup("backgroundcolor");
        set->setValue("color",color.name());
        set->endGroup();
        delete  set;
    }
}

color.isValid()函数用以解决当用户在对话框中没有选择Cancel 或者直接关闭窗口时,变为读取ini文件时,变为全黑色。

打开对话框选择为绿色后:

此时ini文件内容为:

相关推荐
草莓熊Lotso3 小时前
Qt文件操作:QFile读写全解析
运维·开发语言·c++·人工智能·qt
枫叶丹44 小时前
【Qt开发】Qt界面优化(六)-> Qt样式表(QSS) 伪类选择器
c语言·开发语言·c++·qt
一叶之秋14124 小时前
窗口基石:掌控 Qt 界面的无限形态
开发语言·qt
混分巨兽龙某某1 天前
基于ESP32_CAM与Qt Creator的智能视频监控项目(代码开源)
qt·嵌入式·视频监控·esp32_cam
Non importa1 天前
二分法:算法新手第三道坎
c语言·c++·笔记·qt·学习·算法·leetcode
爱看书的小沐2 天前
【小沐学CAD】基于OCCT读取和显示STEP模型文件(QT、MFC、glfw)
qt·mfc·opengl·stp·step·opencascade·occt
Quz2 天前
QML与JavaScript 交互的四种方式
javascript·qt·交互
xyty33202 天前
QImageReader 的全局静态锁原理
c++·windows·qt
Hello.Reader2 天前
Tauri vs Qt跨平台桌面(与移动)应用选型的“底层逻辑”与落地指南
开发语言·qt·tauri
忘忧记2 天前
python QT sqlsite版本 图书管理系统
开发语言·python·qt