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

相关推荐
千疑千寻~8 分钟前
【Qt图形】Qt中的图形场景、图元、视图 的坐标的转换
qt
一叶之秋141210 小时前
Qt常用控件(三)
开发语言·qt
_OP_CHEN10 小时前
【从零开始的Qt开发指南】(二十三)Qt 界面优化之绘图实战:解锁自定义界面的无限可能
开发语言·qt
郝学胜-神的一滴10 小时前
使用QVideoWidget实现高效视频播放:从基础到高级应用
开发语言·c++·qt·程序人生·音视频
叶之道10 小时前
MacOS 配置 Qt 开发环境
qt·macos
爱吃泡芙的小白白10 小时前
Qt 3D老树新花:为何在工业与车载领域仍是首选?
开发语言·qt·3d
余衫马10 小时前
Qt for Python:PySide6 入门指南
开发语言·c++·python·qt
Wiktok11 小时前
PySide6中的QSS(Qt Style Sheet,类似CSS)支持的属性
qt·pyside6·qss
枫叶丹411 小时前
【Qt开发】Qt系统(七)-> Qt网络安全
c语言·开发语言·c++·qt·网络安全
草莓熊Lotso11 小时前
Qt 控件核心入门:从基础认知到核心属性实战(含资源管理)
运维·开发语言·c++·人工智能·后端·qt·架构