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

相关推荐
YouEmbedded16 分钟前
解码 Qt 交互:滑动交互、窗口拖拽
qt·滑动交互·上滑关闭·滑动显示 / 隐藏
郝学胜-神的一滴18 分钟前
使用EBO绘制图形:解锁高效渲染与内存节省之道
c++·qt·游戏·设计模式·系统架构·图形渲染
枫叶丹41 小时前
【Qt开发】Qt事件(一)
c语言·开发语言·数据库·c++·qt·microsoft
刺客xs12 小时前
Qt------信号槽,属性,对象树
开发语言·qt·命令模式
zxb@hny14 小时前
配置beyondcompare合并git操作
qt
liangshanbo121515 小时前
深入理解 Model Context Protocol (MCP):从原理到实践
开发语言·qt·microsoft
27399202915 小时前
QT5使用QFtp
开发语言·qt
怪力左手16 小时前
qt qspinbox editingfinished事件问题
开发语言·qt
我喜欢就喜欢16 小时前
2025技术成长复盘:解决问题的365天
c++·qt
神仙别闹16 小时前
基于QT(C++)+MySQL实现(窗体)学生信息管理系统
c++·qt·mysql