保存应用程序设置(QSettings)

发布时间:2020-07-26 12:44:21 作者:WZM3558862
来源:网络 阅读:771

保存应用程序设置(QSettings)

1.   QSettings 类

 

 

 

 

2.   使用 QSettings

 

(1)构造一个 QSettings 对象

 

 

(2)添加一个设置到 settings 中

 

 

         /*  wrapMargin 是一个子 key

         /*  如果存在相同的 key,那么已存在的 key 所对应的值将由新值代替

 

(3)从 setttings 中取出设置

 

 

 

3.   QSettings 的组织方式

 

(1)用“/”表示子 key

 

 

(2)使用 beginGroup( ) 和 endGroup( ) 

 

 

settings.beginGroup("mainwindow") ;

settings.setValue("size", win->size( ) ) ;

settings.setValue("fullScreen", win->isFullScreen( ) ) ;

settings.endGroup( ) ;

 

settings.beginGroup("outputpanel") ;

settings.setValue("visible", panel->isVisible( ) ) ;

settings.endGroup( ) ;

 

 

mainwindow/ size

mainwindow/ fullScreen

outputpanel/ visible

 

(3)取得 key 与子 key

 

 

QSettings settings ;

settings.setValue("fridge/color", Qt::white) ;

settings.setValue("fridge/size", QSize(32, 96) ) ;

settings.setValue("sofa", true) ;

settings.setValue("tv", false) ;

QStringList keys = settings.childKeys( ) ;

 

 

 

 

QSettings settings ;

settings.setValue("fridge/color",Qt::white); 

settings.setValue("fridge/size",QSize(32,96)); 

settings.setValue("sofa",true); 

settings.setValue("tv",false);

QStringList groups = settings.childGroups() ;

 

 

4.   保存和取得程序的设置

 

(1)在主窗口的构造函数中,readSettings( )

 

void MainWindow::readSettings()
{
   QSettings settings("Software Inc.", "Spreadsheet");   // 写入与读取的 settings 要一致

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

 

(2)在关闭主窗口时,writeSettings( )

 

void MainWindow::writeSettings()
{
   QSettings settings("Software Inc.", "Spreadsheet");

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

/* 这


推荐阅读:
  1. QSettings使用方法
  2. QT 设置应用程序开机自动运行

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

qt

上一篇:用sql语句取设置了置顶的记录

下一篇:Nagios配置之Windows

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》