crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Web AxWidget, WebBrowser в Qt
Гость_Саша_*
сообщение 24.1.2008, 20:45
Сообщение #1





Гости








    


Проблеммы встроить WebBrowser в Qt-приложение не составляет. НО получившийся браузер НЕ ВСЕ клавиши пускает, например, до JScript-ов. В частности не пускает стрелочки, Backspace, PgUp, PgDown. В чём несложно убедиться написав такой HTML-код:

CODE

<script>
function on_keydown( e )
{
var keyChar = String.fromCharCode(event.which);
window.status = event.keyCode;
document.all["StatusLine"].innerText = event.keyCode;
}
document.onkeydown = on_keydown;
</SCRIPT>
<BODY>
ppppppppp
</BODY>
<P ID=StatusLine>
aaaaa
</P>

и сравнив результаты его работы в обычном IExplorer-е или (другом браузере) и браузере написаном на Qt.
После нескольких дней поиска была найдена виртуальная ф-я класса QAxWidget::translateKeyEvent. Если снаследовать этот класс и переопределив эту ф-ю возвращать в ней всегда true, все клавиши начинают доходить, НО теперь все те проблемные клавиши начинают приходить дважды, например, в полях ввода. что несложно проверить на следующем HTML-коде:
CODE

<HTML>
<BODY>
<INPUT TYPE=TEXT></INPUT>
</BODY>
</HTML>

Чтобы увидеть нехороший эффект нужно ввести в поле редактирования буквы, а потом поперемещать в нём текстовый курсор при помощи клавиш "вправо", "влево". Курсор будет смещаться сразу на 2 символа.
В Интернете я после всего этого наткнулся на страницу
http://www.crossplatform.ru/documentation/...baxwidget-h.php.
Там тоже переопределяется ф-я QAxWidget::translateKeyEvent. Но как было отмечено появляется дублирование клавишь.
Что делать???!!!
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме
- Саша   Web AxWidget   24.1.2008, 20:45
- - ViGOur   А как ты переопределил функцию translateKeyEvent? ...   24.1.2008, 20:52
- - ViGOur   А вот и ответ у тролей: ЦитатаSome key events happ...   24.1.2008, 21:45
- - Саша   Вначале я переопределил по-своему: просто "re...   25.1.2008, 11:19
|- - Саша   ViGOur, залез я по твоей ссылке к тролям... Как я ...   25.1.2008, 11:32
- - ViGOur   А если попробовать так: virtual bool translateKe...   25.1.2008, 11:26
|- - Саша   Цитата(ViGOur @ 25.1.2008, 11:26) А если ...   25.1.2008, 11:36
- - ViGOur   Раз отвергли, то нужно сначала попробовать самому ...   25.1.2008, 11:37
|- - Саша   Цитата(ViGOur @ 25.1.2008, 11:37) Раз отв...   25.1.2008, 11:50
|- - Саша   Цитата(ViGOur @ 25.1.2008, 11:37) У меня ...   25.1.2008, 11:54
- - ViGOur   Стоп, а тебе нужно, чтобы кнопки-стрелочки и бексп...   25.1.2008, 11:56
|- - Саша   Цитата(ViGOur @ 25.1.2008, 11:56) Стоп, а...   25.1.2008, 12:00
- - ViGOur   Цитата(Guest_Саша_* @ 25.1.2008, 11:54) Д...   25.1.2008, 11:57
- - ViGOur   Тогда оформлять как баг, или попробовать заморочит...   25.1.2008, 12:05
|- - Саша   Цитата(ViGOur @ 25.1.2008, 12:05) Тогда о...   25.1.2008, 12:08
- - ViGOur   угу, нужно лезть, заодно и получше изучишь Qt изну...   25.1.2008, 12:13
- - Alexandr   Я бы использовал ,на вашем месте, модуль QtWebKit....   27.1.2008, 12:51
- - klochec_v   еще такой вопрос у когонить была такая проблема чт...   21.2.2008, 14:16


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 27.12.2024, 3:25