博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
QT实现记录上一次用户名和密码功能
阅读量:4217 次
发布时间:2019-05-26

本文共 3436 字,大约阅读时间需要 11 分钟。

说明:在登录时,为了避免每次打开软件都要重新输入账号和密码,可以用QSettings来实现记录功能。

本例子中记录的是ip和port号。

#ifndef PERFORMANCETESTING_H#define PERFORMANCETESTING_H#include 
#include "ui_performancetesting.h"class PerformanceTesting : public QMainWindow{ Q_OBJECTpublic: PerformanceTesting(QWidget *parent = 0); ~PerformanceTesting(); private slots: void PushButton(); void WriteInit(QString key, QString value); void ReadInit(QString key, QString &value);private: Ui::PerformanceTestingClass ui;};#endif // PERFORMANCETESTING_H

#include "performancetesting.h"#include "handlethreadandtest.h"#include 
#include
#include
PerformanceTesting::PerformanceTesting(QWidget *parent) : QMainWindow(parent){ ui.setupUi(this); QString readIP; QString readPort; ReadInit("IP", readIP); ReadInit("PORT", readPort); ui.serverIP->setText(readIP); ui.serverPort->setText(readPort);}PerformanceTesting::~PerformanceTesting(){}void PerformanceTesting::PushButton(){ if (ui.serverIP->text() == "" || ui.serverPort->text() == "") { QMessageBox::information(this, "Warning", "IP and port number can not be empty!", QMessageBox::Ok); return; } WriteInit("IP", ui.serverIP->text()); WriteInit("PORT", ui.serverPort->text()); QString ip = ui.serverIP->text(); int port = ui.serverPort->text().toInt(); int meetingRoomNum = ui.meetingRoomNum->text().toInt(); int peopleNum = ui.peopleNum->text().toInt(); HandleThreadAndTest *threadAndTest = new HandleThreadAndTest(); threadAndTest->SetIP(ip); threadAndTest->SetPort(port); threadAndTest->SetMeetingRoomNum(meetingRoomNum); threadAndTest->SetPeopleNum(peopleNum); this->close(); threadAndTest->show();}void PerformanceTesting::WriteInit(QString key, QString value){ QString path = "ip.ini"; //创建配置文件操作对象 QSettings *config = new QSettings(path, QSettings::IniFormat); //将信息写入配置文件 config->beginGroup("config"); config->setValue(key, value); config->endGroup(); delete config;}void PerformanceTesting::ReadInit(QString key, QString &value){ value = QString(""); QString path = "ip.ini"; //创建配置文件操作对象 QSettings *config = new QSettings(path, QSettings::IniFormat); //读取配置信息 value = config->value(QString("config/") + key).toString(); delete config;}

第二次运行时,就会填入第一次输入的ip和port。

//参考:http://blog.sina.com.cn/s/blog_a6fb6cc90101bz3c.htmlbool Util::writeInit(QString path, QString user_key, QString user_value){	if (path.isEmpty() || user_key.isEmpty())	{		return false;	}	else	{		//创建配置文件操作对象		QSettings *config = new QSettings(path, QSettings::IniFormat);		//将信息写入配置文件		config->beginGroup("config");		config->setValue(user_key, user_value);		config->endGroup();		return true;	}}bool Util::readInit(QString path, QString user_key, QString &user_value){	user_value = QString("");	if (path.isEmpty() || user_key.isEmpty())	{		return false;	}	else	{		//创建配置文件操作对象		QSettings *config = new QSettings(path, QSettings::IniFormat);		//读取用户配置信息		user_value = config->value(QString("config/") + user_key).toString();		return true;	}}//获取界面用户输入的配置内容QString address = address_line_edit->text();  //地址QString port = port_line_edit->text();  //端口向user.ini配置文件中写入地址、端口bool is_address = Util::writeInit(QString("./user.ini"), ADDRESS, address);bool is_port = Util::writeInit(QString("./user.ini"), PORT, port);从user.ini配置文件中读取地址、端口QString address_value;QString port_value;bool is_address = Util::readInit(QString("./user.ini"), ADDRESS, address_value);bool is_port = Util::readInit(QString("./user.ini"), PORT, port_value);

你可能感兴趣的文章
【屌丝程序的口才逆袭演讲稿50篇】第一篇:互联网时代U盘化生存方式 【张振华.Jack】
查看>>
CentOS6.4配置Hadoop-2.6.0集群配置安装指南(经过实战演练)【张振华.Jack】
查看>>
【屌丝程序的口才逆袭演讲稿50篇】第二篇:专注的力量 [张振华.Jack]
查看>>
【屌丝程序的口才逆袭演讲稿50篇】第三篇:我的舍与得的2014[张振华.Jack]
查看>>
【屌丝程序的口才逆袭演讲稿50篇】第五篇:不要给自己找任何借口【张振华.Jack】
查看>>
【屌丝程序的口才逆袭演讲稿50篇】第七篇:请留意我们身边的风景 【张振华.Jack】
查看>>
【屌丝程序的口才逆袭演讲稿50篇】第八篇:坚持的力量 【张振华.Jack】
查看>>
【屌丝程序的口才逆袭演讲稿50篇】第九篇:春节那些事-过年回家不需要理由【张振华.Jack】
查看>>
【屌丝程序的口才逆袭演讲稿50篇】第十一篇:马云乌镇40分钟演讲实录【张振华.Jack】
查看>>
Java并发编程从入门到精通 张振华.Jack --我的书
查看>>
【屌丝程序的口才逆袭演讲稿50篇】第十二篇:世界上最快的捷径【张振华.Jack】
查看>>
Android中Java代码和XML布局效率问题
查看>>
android TextView属性大全(转)
查看>>
Conclusion for Resource Management
查看>>
Conclusion for Constructors,Destructors,and Assignment Operators
查看>>
《浪潮之巅》1 AT&T
查看>>
《浪潮之巅》2蓝色巨人 IBM公司
查看>>
《浪潮之巅》3水果公司的复兴
查看>>
《浪潮之巅》4计算机工业的生态链
查看>>
《浪潮之巅》5奔腾的芯 英特尔公司
查看>>