我正在尝试读取一个在各行上都有服务器名称的文件。
我希望文本浏览器中的输出为.*<servername>|<servername>|<servername>.*
我已经将两个读数直接尝试到文本浏览器,然后读取数组并从数组中输出。这两种方法都会导致文本浏览器在自己的行上显示每个项目。我希望所有输出都在同一条线上。也许它是append方法或导致它的.readLine方法?
这是我的代码:
void MainWindow::on_pushButton_clicked()
{
QString myfile=QFileDialog::getOpenFileName(
this,
tr("Open File"),
"C://",
"Text File (*.txt)"
);
QFile file(myfile);
if(!file.open(QIODevice::ReadOnly))
QMessageBox::information(0,"info",file.errorString());
QTextStream in(&file);
ui->textBrowser->append(".*");
while (!file.atEnd())
{
QString line = file.readLine();
ui->textBrowser->append(line);
ui->textBrowser->append("|");
}
file.close();
}
答案 0 :(得分:0)
readLine
的返回包括返回缓冲区中的换行符。所以当你把它写到包含换行符的textBrowser时。
有关详细信息,请参阅qiodevice::readLine文档。