您的位置:首页 > 编程语言 > Qt开发

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

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

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

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

#include<QSettings>

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


/**********************.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();
	S***E_CFG_VARIANT(username);
	S***E_CFG_VARIANT(passwd);
	S***E_CFG_VARIANT(autologin);
	S***E_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();
}


结果就是这样的:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: