0
点赞
收藏
分享

微信扫一扫

QSetting:Qt读写配置文件实例


简介:

QSettings类提供了持久的跨平台应用程序设置。



用户通常期望应用程序记住它的设置(窗口大小、位置等)所有会话。这些信息通常存储在Windows系统注册表,OS X和iOS的属性列表文件中。在Unix系统中,在缺乏标准的情况下,许多应用程序(包括KDE应用程序)使用INI文本文件。



QSettings围绕这些抽象技术,使我们能够以便携的方式保存和恢复应用程序设置。它还支持自定义存储格式。



QSettings API基于QVariant,可以保存很多基础的类型,比如 QString、QRect、QImage等。




如果你需要的是一个非持久性的基于内存结构,可以考虑使用QMap<QString, QVariant>代替。


实例:


void MainWindow::readSettings()
{
QSettings settings("Hero", "Spreadsheet");

restoreGeometry(settings.value("geometry").toByteArray());

recentFiles = settings.value("recentFiles").toStringList();
updateRecentFileActions();

bool showGrid = settings.value("showGrid", true).toBool();
showGridAction->setChecked(showGrid);

bool autoRecalc = settings.value("autoRecalc", true).toBool();
autoRecalcAction->setChecked(autoRecalc);
}

void MainWindow::writeSettings()
{
QSettings settings("Hero", "Spreadsheet");

settings.setValue("geometry", saveGeometry());
settings.setValue("recentFiles", recentFiles);
settings.setValue("showGrid", showGridAction->isChecked());
settings.setValue("autoRecalc", autoRecalcAction->isChecked());
}

效果图:

QSetting:Qt读写配置文件实例_应用程序


举报

相关推荐

0 条评论