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

相关推荐
qq_466302457 小时前
vs2008 Hotlink实时数据读取
c++·qt
欧特克_Glodon10 小时前
基于Qt+VTK实现的CT/MR影像浏览工具,支持体渲染及体模型剪裁
c++·qt·vtk·体渲染·裁剪
牵牛老人12 小时前
【基于Qt6.5和H5做一个简单的物料管理ERP系统的架构设计】
qt
笨笨马甲13 小时前
Qt TCP连接硬件设备
开发语言·qt·tcp/ip
teacher伟大光荣且正确13 小时前
关于Qt QReadWriteLock(读写锁) 以及 QSettings 使用的问题
java·数据库·qt
Larry_Yanan16 小时前
Qt多进程(四)QTcpSocket
开发语言·c++·qt·ui
CC.GG16 小时前
【Qt】常用控件----QWidget属性
java·数据库·qt
hqwest16 小时前
码上通QT实战02--登录设计
开发语言·qt·登录·ui设计·qt控件·qt布局·qt登录
世转神风-17 小时前
qt-文件自动按编号命名
开发语言·qt
世转神风-18 小时前
qt-float转QByteArray-二进制存储-数据存储(IEEE 754标准)
开发语言·qt