2013-08-07 4 views
1

Моя программа Qt (с использованием qt v5.0.2) содержит QWebView, в которой пользователь должен войти в систему, используя свой адрес электронной почты и пароль. Все работает отлично в Windows (проверено на w7 и сервере 2008), но на Mac (10.7.5) я столкнулся с раздражающей проблемой. При нажатии alt-2 (комбинация клавиш для @) ничего не происходит.QtWebkit, не может использовать ключ «@»

Я провел бесчисленное количество часов тестирования и пытался найти в сети информацию об этом, но я действительно ничего не могу найти об этом.

Есть ли обходной путь? Фикс? Или это даже известная проблема?

Редактировать: Как отмечено в комментариях ниже, моя клавиатура является европейской/шведской.

+0

alt-2? разве это не смещение-2? – Ramez

+0

Ramez, шведская/европейская клавиатура, поэтому alt + 2, shift + 2 is ". Это может быть хорошей возможностью добавить к первому сообщению сейчас, когда я думаю об этом, потому что, я думаю, это может иметь какое-то отношение к этому Спасибо! – Jite

ответ

2

Это настоящий Qt Bug. Я сообщил об этом, как https://bugreports.qt-project.org/browse/QTBUG-34981

Сегодня мы нашли код, ответственный за него в

./qtwebkit/Source/WebKit/qt/WebCoreSupport/EditorClientQt.cpp 

Вокруг линии 480 он говорит

#ifndef Q_WS_MAC 
    // We need to exclude checking for Alt because it is just a different Shift                
    if (!kevent->altKey()) 
#endif 
    shouldInsertText = true; 

По-видимому, Q_WS_MAC не определен на Mac Строит в это время - Я думаю, что он устарел в пользу Q_OS_MAC.S

Просто заменив заявление на

shouldInsertText = true; 

при компиляции на Mac исправил проблему для нас.

+0

Я очень рад услышать это и попробовать его, как только я приеду на работу завтра. Проект закрыт, и нам удалось его обмануть, но я рад, что его нашли, Я отвечу как правильный, как только проверю, и если это сработает! – Jite

Смежные вопросы