这次将上一个登录界面由Qsqlite版本改为txt版本,主要改动的地方是login函数。
bool MainWindow::login(QString userName, QString password){
// 之前的版本
// DataBase db;
// //查询密码
// QString result = db.queryAccount(userName);
QString result;
QString nextLine;
QStringList userInfo;
QFile aFile(":/db/db.txt");
QTextStream aStream(&aFile);
//设置自动编码
aStream.setAutoDetectUnicode(true);
//以只读和文本方式打开txt文件
if (!aFile.open(QIODevice::ReadOnly | QIODevice::Text))
return false;
//对读取出来的信息处理
while(!aStream.atEnd()){
userInfo = aStream.readLine().split(" ");
qDebug()<<userInfo.at(0)<<userInfo.at(1);
if(userInfo.at(0) == userName)
{
result = userInfo.at(1);
break;
}
}
aFile.close();//关闭文件
if(result == password){
return true;
}
else return false;
}
文件读取的步骤如下:
1.加载文件对象 QFile file("url");
2.创建QTextSteam实例(用文本流读取文件)
3.打开文件(通过传递QIODevice::OpenModelFlag枚举类型的参数,决定文件打开方式)QIODevice::OpenModelFlag的取值如下:
4.对文件进行操作
5.关闭文件
{{ cmt.username }}
{{ cmt.content }}
{{ cmt.commentDate | formatDate('YYYY.MM.DD hh:mm') }}