ini文件用于保存用户的设置操作,下列以背景颜色设置为例子
暂时默认设置为白色背景
这段代码放置在主窗口的构造函数中,用于初始化读取ini文件
QString color;
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));
对应点击按钮的槽函数:
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文件内容为: