目前,我正在将文本数据添加到 qtextbrowser 中。在此数据中,有一个超链接(我正在使用 qregex 捕获)和一个文件路径(对于我的一个目录)。现在,单击超链接后,我想在其中一个 linux 浏览器中打开该链接。在这里,我可以在 qtextbrowser 中打开超链接,但不能在外部工具中打开。在单击文件路径时,我必须在该位置打开一个终端。我无法向 qt 中的文本添加操作。
我找不到任何合适的解决方案。
附加超链接的代码:和dirPath
.hpp 文件
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
namespace Ui {
class MainWindow;
}
class MainWindow: public QMainWindow{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
private:
Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H
.cpp 文件
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
QString hyperLink = QString::fromStdString("https://www.google.co.in/");
hyperLink = QString::fromStdString("<a href = \"") + hyperLink +
QString::fromStdString("\" >") + hyperLink + QString::fromStdString("</a>");
hyperLink = QString::fromStdString("HyperLink: ") + hyperLink;
ui->textBrowser->append(hyperLink);
QString dirLocation = QString::fromStdString("/home/user/dir");
dirLocation = QString::fromStdString("<a href = \"") + dirLocation +
QString::fromStdString("\" >") + dirLocation + QString::fromStdString("</a>");
dirLocation = QString::fromStdString("Working Directory: ") + dirLocation;
ui->textBrowser->append(dirLocation);
}
MainWindow::~MainWindow()
{
delete ui;
}
点击超链接,我想在系统默认浏览器中打开链接。
单击 dirPath(我当前作为超链接附加),我想在 dirPath 打开终端。
ui->textbrowser 是 QTextBrowser 的 QWidget。
我在 Linux 操作系统中工作
提前感谢您的帮助。