我想在列表小部件中读取文本文件的特定部分。我尝试了不同的方法,并在网上寻找一些解决方案,但找不到很多。我是使用Qt的新手,但在很大程度上与它相处得很好。
QFile YearInfo("C:/Users/Documents/info.txt"); YearInfo.open(QIODevice::ReadWrite | QIODevice::Text); if(YearInfo.isOpen()){ QTextStream in(&YearInfo); bool readEnabled = false; QString outputText, startToken = line, endToken = "*"; // line = "2019" while(!in.atEnd()){ QString getLine = in.readLine(); if(getLine == endToken){ readEnabled = false; } if(readEnabled){ outputText.append(getLine + "\n"); } if(getLine == startToken){ readEnabled = true; } } ui->listWidget->addItem(outputText); } YearInfo.flush(); YearInfo.close();
文本文件包含:
2019职位部门职务日期(西马/西马/西马)*
2020职位部门职称日期(下午/下午/下午)*
我想在列表小部件中读取文本文件的特定部分。我尝试了不同的方法,并在网上寻找一些解决方案,但找不到很多。我刚使用Qt,但与...
您编写的代码只要您尝试提取以以下方式设置格式的文本,就可以使用
要查找字符串的条目,我使用QRegExp。请注意,由于您有一个stopToken,如QRegExp的特殊符号,可能会更改为“ \ *:
QFile YearInfo("C:/Users/Documents/info.txt");
YearInfo.open(QIODevice::ReadOnly | QIODevice::Text);
if(YearInfo.isOpen()){
QTextStream in(&YearInfo);
bool readEnabled = false;
QString outputText = "", startToken = line.trimmed(), endToken = "*";
while(!in.atEnd()){
QString getLine = in.readLine().trimmed();
if(getLine == startToken){
readEnabled = true;
}
if(readEnabled){
outputText.append(getLine + "\n");
}
if(getLine == endToken){
readEnabled = false;
}
}
ui->listWidget->addItem(outputText);
}
YearInfo.close();