从 QTextBrowser 打开文件

Posted

技术标签:

【中文标题】从 QTextBrowser 打开文件【英文标题】:Open file from QTextBrowser 【发布时间】:2011-01-06 13:06:48 【问题描述】:

我只是想编写一个代码来通过单击 QTextBrowser 中显示的链接来打开文件。但是文件没有打开,而是显示在 QTextBrowser 本身中。这是我的代码

void MainWindow::openTextEdit()

    QTextBrowser *p = new QTextBrowser();
    p->show();

    p->append("<a href = \"/home/winbros/Test.cpp\"> Link </a>");
    p->append("<a href = \"/home/winbros/Test.doc\"> Link </a>");
    p->append("<a href = \"/home/winbros/Test.xls\"> Link </a>");
    p->setOpenExternalLinks(true);

我正在使用 QT 创建器。伙计们请告诉我在这个意义上使用锚点点击。

【问题讨论】:

【参考方案1】:

听起来anchorClicked 信号可能对您有用。它包含被点击链接的 URL,为 QUrl

编辑: OP 要求提供一个使用示例。我现在没有时间,但我大概会这样做:

    让需要打开文件的类有一个插槽foo,它接受const QUrl&amp;foo 可以使用QUrl::toLocalFile 构造一个QFile 并打开它。 将您的QTextBrowseranchorClicked 信号连接到foo

【讨论】:

如果可能的话,能否请您给我一段关于如何在这种情况下使用它的代码?我已经浏览了您提供的链接,但无法弄清楚。

以上是关于从 QTextBrowser 打开文件的主要内容,如果未能解决你的问题,请参考以下文章

从文件中动态更新 Qdialog 中的 QTextBrowser(由另一个作业更新)

如何将 QTextBrowser 的多个实例打印到一个 PDF 文件中?

当从 html 文件中读取 Unicode 内容时,为啥 Unicode 字体无法在 QTextBrowser 中正确显示?

QT qtextbrowser 如何在读取文件的时候不自动换行,完全按照文件的格式输出?

如何给href一个方法名?

Ubuntu从终端命令打开文件