DOM и QWebView |
Здравствуйте, гость ( Вход | Регистрация )
DOM и QWebView |
good_game |
20.5.2012, 16:00
Сообщение
#1
|
Студент Группа: Участник Сообщений: 43 Регистрация: 18.8.2011 Пользователь №: 2815 Спасибо сказали: 1 раз(а) Репутация: 0 |
Добрый день, уважаемые форумчане.
Создаю модуль (диалоговое окно). Окно разделено вертикально на две части: в правой части находится QWebView, в который загружается страничка, в левой части находится QTreeView, в котором отображается DOM-дерево загруженной странички. При выделении узла в DOM-дереве, соответствующий элемент подсвечивается в WebView (меняю цвет фона и цвет border). Также работает в обратном направлении: ткнули мышкой в QWebView и соответствующий элемент выделяется в DOM-дереве. С первым вариантом всё понятно, всё работает. Вот со вторым проблема. Мой текущий механизм работы: перехват события клика по QWebView, затем с помощью QWebElement element = mf->hitTestContent(pos).element(); определяю куда пользователь ткнул. Проблема в том, что не всегда это срабатывает. Не работает, например, на элементах-ссылках и ещё на некоторых тегах. На некоторых div-тегах срабатывает, на некоторых нет. Причём зависимость не могу уловить. Подскажите, можно ли как то с помощтю сигналов-слотов соединить QWebElement и QTreeWidgetItem? |
|
|
good_game |
30.5.2012, 20:35
Сообщение
#2
|
Студент Группа: Участник Сообщений: 43 Регистрация: 18.8.2011 Пользователь №: 2815 Спасибо сказали: 1 раз(а) Репутация: 0 |
Неужели совсем никто не знает? Или, может, я вопрос изложил некорректно?
|
|
|
ViGOur |
30.5.2012, 21:04
Сообщение
#3
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
Попробуй так:
1. Получаешь все QWebElement находящиеся на QWebView. 2. Проверяешь входит ли QPoint куда тыкнули в QRect данного QWebElement или нет. Если входит, то это наш элемент и выделяем его. Получить все элементы на QWebView можно с помощью QWebFrame::findAllElements ( "*" ) Получить QRect можно с помощью QRect QWebElement::geometry () const |
|
|
good_game |
20.6.2012, 9:06
Сообщение
#4
|
Студент Группа: Участник Сообщений: 43 Регистрация: 18.8.2011 Пользователь №: 2815 Спасибо сказали: 1 раз(а) Репутация: 0 |
Спасибо. Способ сработал. Правда немного через задний проход получилось, но пусть так.
|
|
|
Гость_Гость_Oleg_*_* |
14.8.2012, 16:09
Сообщение
#5
|
Гости |
Привет!
Может кто может помочь. Имеется следующая проблема. Поставил под 7ку 4.8 е сдк qt, туда входит и вебкит. Но с меня требуется кое что в вебките поддурить. Беру с нокиа qtwebkit-2.2.0 строю ( с 2.2.2 то же самое) захожу в бровзере на такой вот скрипт <!DOCTYPE html> <html> <body> <div id="result"></div> <script> if(typeof(Storage)!=="undefined") { localStorage.lastname="Smith"; document.getElementById("result").innerHTML="Last name: " + localStorage.lastname; } else { document.getElementById("result").innerHTML="Sorry, your browser does not support web storage..."; } </script> </body> </html> С тем что идет в сдк все класно а вот то что строю говорит - Sorry, your browser does not support web storage.. не знаю что делать и как построить что бы локалстора работала помогите если кто знает плс! |
|
|
Гость_Гость_Oleg_*_* |
16.8.2012, 13:39
Сообщение
#6
|
Гости |
Проблему разрешил
|
|
|
Текстовая версия | Сейчас: 15.1.2025, 19:24 |