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文件内容为:

相关推荐
机器视觉知识推荐、就业指导11 小时前
Qt 6 所有 QML 类型(官方完整清单 · 原始索引版)
开发语言·qt
少控科技12 小时前
QT新手日记033
开发语言·qt
少控科技18 小时前
QT新手日记 030
开发语言·qt
xmRao18 小时前
Qt+FFmpeg 实现 Windows 音频采集
windows·qt·ffmpeg
草莓熊Lotso19 小时前
Qt 控件美化与交互进阶:透明度、光标、字体与 QSS 实战
android·java·开发语言·c++·人工智能·git·qt
GGGLF1 天前
Qt网络/串口通信开发:QByteArray 数据类型转换方法解析
开发语言·qt
掘根1 天前
【jsonRpc项目】基本的宏定义,抽象层和具象层的实现
开发语言·qt
深蓝海拓1 天前
Qt(PySide/PyQt)的信号槽机制的比较深入的学习笔记
qt·学习·pyqt
Henry Zhu1231 天前
Qt Model/View架构详解(一):基础理论
开发语言·qt
青火coding1 天前
ai时代下的RPC传输——StreamObserver
qt·网络协议·microsoft·rpc