Qt中QSettings的用法(记住密码和自动登录)

您所在的位置:网站首页 qq取消记住密码 Qt中QSettings的用法(记住密码和自动登录)

Qt中QSettings的用法(记住密码和自动登录)

2024-07-14 18:44| 来源: 网络整理| 查看: 265

百度到的一些有关于QSettings 的用法,大多都大同小异,都是摘自Qt的帮助文档,而问题时钟没有解决。其实最有用的还是Qt的帮助文档,阅读了QSettings的帮助文档后,经过一些探索,终于将QSettings记录登录信息摸索出来;

大体结构是这样的,在保存信息是,建立文件,将信息保存在文件里面,在点击登录按钮时,保存信息,在下一次的重新构造时,将保存在文件里面的信息取出来并显示在界面上,这样我们就只管的实现了记住密码。直接上代码:

/*********************.h 文件*************************/

#include QString username; QString passwd; QString AutoLogin; QString RemeberPasswd; bool remeberPasswd; bool autologin; void savecfg(); void loadcfg();

/**********************.cpp文件******************/

#define LOAD_CFG_VARIANT(x) cfg.value(#x) #define SAVE_CFG_VARIANT(x) cfg.setValue(#x, x) /**勾选记住密码,定义一个标志位*/ void Widget::on_Rem_Passwd_clicked() { if(ui->Rem_Passwd->isChecked()) { remeberPasswd= true; } else { ui->PaswdEditr->clear(); remeberPasswd= false; } } /**勾选自动登录,定义一个标志位*/ void Widget::on_Autoin_Log_clicked() { if(ui->Auto_Log->isChecked()) { autologin= true; } else { autologin= false; } } /**保存登录信息**/ void Widget::savecfg() { QSetting cfg("fzconfig.ini",QSettings::IniFormat); username= ui->Accout->currentText(); passwd= ui->PasswdEdit->text(); //在这儿使用了宏定义,也可以将SAVE_CFG_VARIANT用cfg.setvalue代替,具体的宏定义在上面 SAVE_CFG_VARIANT(username); SAVE_CFG_VARIANT(passwd); SAVE_CFG_VARIANT(autologin); SAVE_CFG_VARIANT(remeberPasswd); cfg.sync(); } /**初始化时显示登录信息**/ void Widget::loadcfg() { QSettings cfg("fzconfig.ini",QSettings::IniFormat); //在这儿使用了宏定义,也可以将LOAD_CFG_VARIANT用cfg.value代替 username= LOAD_CFG_VARIANT(username).toString(); passwd= LOAD_CFG_VARIANT(passwd).toString(); AutoLogin= LOAD_CFG_VARIANT(autologin).toString(); RemeberPasswd= LOAD_CFG_VARIANT(remeberPasswd).toString(); ui->Accout->addItem(username); ui->PasswdEdit->setText(passwd); if(RemeberPasswd== "true") { ui->Rem_Passwd->setChecked(true); } if(AutoLogin== "true") { ui->Auto_Log->setChecked(true); } } /**登录按钮**/ void Widget::on_btn_login_clicked() { savecfg(); }

结果就是这样的:

最近 对 QSettings 类的使用有一些其他多的总结,请参考。《QSettings实现记住密码》



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3