Qt:将HTML源代码加载到字符串

时间:2015-06-04 04:41:51

标签: c++ qt

我有一个本地存储的HTML文件,我必须从中提取文本。

现在,我设法提示用户输入位置,并通过按下按钮在QTextBrowser中显示HTML文件。根据我的理解,下一步是转换为字符串,以便能够在源代码中搜索文本。

到目前为止,这是我的Button_clicked方法

void MainWindow::on_getHTMLButton_clicked()
{
    QString filename = openFilenameDialog();

    if (filename.isEmpty())
    {
        QMessageBox::information(this, tr("File Name"), "Es wurde keine gültige Datei angegeben.");
    }
    else
    {
        QFile file(filename);
        if (!file.open(QIODevice::ReadOnly))
        {
            QMessageBox::information(0, "Info", file.errorString());
        }
        else
        {
            QTextStream in(&file);
            ui->textBrowserHTML->setText(in.readAll());
        }
    }
}

HTML文件在textBrowser中显示没有任何问题。 到目前为止,我的理解是我需要创建一个字符串来搜索源代码中的子字符串。 现在我的问题是我似乎无法创建一个HTML文件源作为内容的字符串对象。 像

这样的东西
QString string = in.readAll();

似乎不起作用......

1 个答案:

答案 0 :(得分:0)

我必须通过

读出流并将其放入ui后才能学习

ui->textBrowserHTML->setText(in.readAll());

流是空的 - 所以当我尝试执行readAllagain时会产生一个空字符串。