Название: Как в QTextBrowser переходить по ссылкам по неполным путям? Отправлено: billy4685 от Декабрь 01, 2015, 00:32 Здравствуйте, господа форумчане. Начал я тут разбираться с виджетом QTextBrowser. Для начала решил реализовать возможность чтения html-страниц и переход по ссылкам. Для этого в папку своего проекта скинул папку с html-справкой, и с нее уже решил
грузить html-страницы и ходить по ним. Первую страницу (index.html) удалось загрузить в QTextBrowser без проблем с помощью метода setSource(QUrl). Для перехода по ссылкам на другие страницы решил ловить сигнал anchorClicked(QUrl), и уже получив c него QUrl посылать его в setSource(QUrl). Но так как в самой html-странице ссылки на новые страницы указаны не полным путем(каталог/html-файл) от главного каталога папки , переход по полученном QUrl не выполнялся. Поэтому решил к главному каталогу папки прибавлять полученный QUrl и уже его посылать в метод setSource(QUrl(полученный путь)). Код: #include "mainwindow.h" Как можно решить эту проблему? Интересует именно работа с QTextBrowser, а не QWebView. Название: Re: Как в QTextBrowser переходить по ссылкам по неполным путям? Отправлено: billy4685 от Декабрь 01, 2015, 12:11 Все оказалось банально и просто)) Не нужно было ничего мутить с сигналами и слотами. Просто всего лишь в конструкторе подцепить файл ../help/index.html через метод setSource(QUrl("../help/index.html")). И дальше переход по ссылкам работает автоматически. Так же очень удобно использовать слоты QTextBrowser: backward() - переход на предыдущую, forward() - переход на следующую и home() - переход на домашнюю страницу.
Код: MainWindow::MainWindow(QWidget *parent) : |