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

来源:互联网 发布:淘宝商家客服热线 编辑:程序博客网 时间:2024/05/17 06:48

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

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

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

#include<QSettings>

QStringusername;QStringpasswd;QStringAutoLogin;QStringRemeberPasswd;boolremeberPasswd;boolautologin;voidsavecfg();voidloadcfg();

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

/**勾选记住密码,定义一个标志位*/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(){QSettingscfg("fzconfig.ini",QSettings::IniFormat);username= ui->Accout->currentText();passwd= ui->PasswdEdit->text();SAVE_CFG_VARIANT(username);SAVE_CFG_VARIANT(passwd);SAVE_CFG_VARIANT(autologin);SAVE_CFG_VARIANT(remeberPasswd);cfg.sync();}/**初始化时显示登录信息**/void Widget::loadcfg(){QSettingscfg("fzconfig.ini",QSettings::IniFormat);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();}


结果就是这样的:

1 0
原创粉丝点击