首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >帮助器的QTextBrowser

帮助器的QTextBrowser
EN

Stack Overflow用户
提问于 2019-01-18 09:08:14
回答 2查看 80关注 0票数 0

我正在尝试用QTextBrowser做一个帮手。据我所知,QTextBrowser中已经实现了home()、backward()和forward(),只需要连接到按钮即可。下面是.h和.cpp文件

代码语言:javascript
复制
#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

代码语言:javascript
复制
#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中的链接。只是没有任何带有按钮的动作。我在这里错过了什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-01-22 07:38:54

我找到了它不起作用的原因。应指定初始源:

代码语言:javascript
复制
ui->textBrowser->setSource(QUrl::fromLocalFile("help/index.html"));

谢谢你Jens花时间。

票数 0
EN

Stack Overflow用户

发布于 2019-01-18 19:33:40

您需要调用以下属性中的一个或两个

代码语言:javascript
复制
ui->textBrowser.setOpenLinks(true);
ui->textBrowser.setOpenExternalLinks(true);

如果您想在运行时过滤或重新路由链接

代码语言:javascript
复制
connect(ui->textBrowser, SIGNAL(sourceChanged(QUrl)), pointerToYourCode, SLOT(slotSourceChanged(QUrl)));

并实现

代码语言:javascript
复制
void YourCode::slotSourceChanged(const QUrl& url) {...}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54246469

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档