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