QSetting:Qt读写配置文件实例

来源:互联网 发布:免费阅读软件下载 编辑:程序博客网 时间:2024/05/16 15:00

简介:

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());}

效果图:


                                             
0 0