028-86922220

建站动态

根据您的个性需求进行定制 先人一步 抢占小程序红利时代

保存应用程序设置(QSettings)-创新互联

保存应用程序设置(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());
}

/* 这

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


新闻标题:保存应用程序设置(QSettings)-创新互联
标题网址:http://www.tsicrk.com/article/djhhps.html

其他资讯

让你的专属顾问为你服务

2.1012s