Russian Qt Forum

Qt => Общие вопросы => Тема начата: Awejk от Январь 23, 2010, 23:34



Название: QWebView и Anchor
Отправлено: Awejk от Январь 23, 2010, 23:34
так
Код:
mWebView->setUrl(QUrl("file:///C:/Report.html"));
работает
а так
Код:
mWebView->setUrl(QUrl("file:///C:/Report.html#zagolovok"));
не работает. webView пустой становиться, видимо он этот урл буквально воспринимает и не находит такой файл.
Разумеется что сам анкор в html прописан, и в обычном html браузере работает.

А как заставить QWebWiew переходить по анкорам?


Название: Re: QWebView и Anchor
Отправлено: Awejk от Январь 24, 2010, 11:54
Может я некорректно поставил вопрос.
Мне нужно сделать навигацию по отчёту, с левой стороны QTreeView, а с правой стороны сам отчёт, с левой стороны в дереве перечислены все разделы и под разделы, при двойном нажатии на раздел - webView должен прокрутить страницу к этому разделу. Ведь это же с помощью anchor-ов нужно делать. Да вот только как заставить его прокрутить страницу при нажатии на item в QTreeView. Выше описанный вариант не проходит.


Название: Re: QWebView и Anchor
Отправлено: Awejk от Январь 24, 2010, 12:04
В самом QWebView анкоры поддерживаются, при нажатии на любую ссылку вызывается сигнал
void QWebView::linkClicked ( const QUrl & url )
Но его напрямую из своего кода нельзя вызвать.
Поэтому вопрос, что нужно сделать что бы вызывать этот linkClicked со своим значением, т.е. с
QUrl("file:///C:/Report.html#zagolovok")


Название: Re: QWebView и Anchor
Отправлено: BlackTass от Январь 24, 2010, 15:05
может проще выполнить яваскрипт на странице, который будет прокручивать до этого анкора?


Название: Re: QWebView и Anchor
Отправлено: Awejk от Январь 24, 2010, 23:44
решил проблему, нужно вместо setUrl использовать load