Helper 的 QTextBrowser
QTextBrowser for Helper
我正在尝试用 QTextBrowser 做一个助手。据我所知,home()、backward() 和 forward() 已经在 QTextBrowser 中实现,并且只需要连接到按钮。下面是.h和.cpp文件
#ifndef HELPWINDOW_H
#define HELPWINDOW_H
#include <QDialog>
namespace Ui {
class HelpWindow;
}
class HelpWindow : public QDialog
{
Q_OBJECT
public:
explicit HelpWindow(QWidget *parent = 0);
~HelpWindow();
private slots:
private:
Ui::HelpWindow *ui;
};
#endif // HELPWINDOW_H
和
#include "helpwindow.h"
#include "ui_helpwindow.h"
HelpWindow::HelpWindow(QWidget *parent) :
QDialog(parent),
ui(new Ui::HelpWindow)
{
ui->setupUi(this);
// connection
connect(ui->pushButton_home,SIGNAL(clicked()),ui->textBrowser,SLOT(home()));
connect(ui->pushButton_forward,SIGNAL(clicked()),ui->textBrowser,SLOT(forward()));
connect(ui->pushButton_backward,SIGNAL(clicked()),ui->textBrowser,SLOT(backward()));
}
HelpWindow::~HelpWindow()
{
delete ui;
}
没有任何错误信息。可以阅读并单击 QTextBrowser 中的链接。只有没有任何按钮操作。我在这里想念什么?
您需要调用以下一个或两个属性
ui->textBrowser.setOpenLinks(true);
ui->textBrowser.setOpenExternalLinks(true);
如果您想在运行时过滤或重新路由链接
connect(ui->textBrowser, SIGNAL(sourceChanged(QUrl)), pointerToYourCode, SLOT(slotSourceChanged(QUrl)));
并实施
void YourCode::slotSourceChanged(const QUrl& url) {...}
我找到了它不起作用的原因。初始来源应指定:
ui->textBrowser->setSource(QUrl::fromLocalFile("help/index.html"));
谢谢 Jens 花时间。
我正在尝试用 QTextBrowser 做一个助手。据我所知,home()、backward() 和 forward() 已经在 QTextBrowser 中实现,并且只需要连接到按钮。下面是.h和.cpp文件
#ifndef HELPWINDOW_H
#define HELPWINDOW_H
#include <QDialog>
namespace Ui {
class HelpWindow;
}
class HelpWindow : public QDialog
{
Q_OBJECT
public:
explicit HelpWindow(QWidget *parent = 0);
~HelpWindow();
private slots:
private:
Ui::HelpWindow *ui;
};
#endif // HELPWINDOW_H
和
#include "helpwindow.h"
#include "ui_helpwindow.h"
HelpWindow::HelpWindow(QWidget *parent) :
QDialog(parent),
ui(new Ui::HelpWindow)
{
ui->setupUi(this);
// connection
connect(ui->pushButton_home,SIGNAL(clicked()),ui->textBrowser,SLOT(home()));
connect(ui->pushButton_forward,SIGNAL(clicked()),ui->textBrowser,SLOT(forward()));
connect(ui->pushButton_backward,SIGNAL(clicked()),ui->textBrowser,SLOT(backward()));
}
HelpWindow::~HelpWindow()
{
delete ui;
}
没有任何错误信息。可以阅读并单击 QTextBrowser 中的链接。只有没有任何按钮操作。我在这里想念什么?
您需要调用以下一个或两个属性
ui->textBrowser.setOpenLinks(true);
ui->textBrowser.setOpenExternalLinks(true);
如果您想在运行时过滤或重新路由链接
connect(ui->textBrowser, SIGNAL(sourceChanged(QUrl)), pointerToYourCode, SLOT(slotSourceChanged(QUrl)));
并实施
void YourCode::slotSourceChanged(const QUrl& url) {...}
我找到了它不起作用的原因。初始来源应指定:
ui->textBrowser->setSource(QUrl::fromLocalFile("help/index.html"));
谢谢 Jens 花时间。