我正在尝试用QTextBrowser做一个帮手。据我所知,QTextBrowser中已经实现了home()、backward()和forward(),只需要连接到按钮即可。下面是.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中的链接。只是没有任何带有按钮的动作。我在这里错过了什么?
发布于 2019-01-22 07:38:54
我找到了它不起作用的原因。应指定初始源:
ui->textBrowser->setSource(QUrl::fromLocalFile("help/index.html"));谢谢你Jens花时间。
发布于 2019-01-18 19:33:40
您需要调用以下属性中的一个或两个
ui->textBrowser.setOpenLinks(true);
ui->textBrowser.setOpenExternalLinks(true);如果您想在运行时过滤或重新路由链接
connect(ui->textBrowser, SIGNAL(sourceChanged(QUrl)), pointerToYourCode, SLOT(slotSourceChanged(QUrl)));并实现
void YourCode::slotSourceChanged(const QUrl& url) {...}https://stackoverflow.com/questions/54246469
复制相似问题