![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
CodeHunter |
![]()
Сообщение
#11
|
![]() Студент ![]() Группа: Участник Сообщений: 33 Регистрация: 26.8.2010 Пользователь №: 1982 Спасибо сказали: 1 раз(а) Репутация: ![]() ![]() ![]() |
ним ни нужно обновлять ни каких данных. Нам нужно узнать текущую раскладку клавиатуры. Где в твоем коде это делается? Сначала посмотри на мой ответ, а потом задавай такие вопросы . ![]() Цитата keyboardInputLocale() пробовал, у меня всегда возвращает RU_ru независимо от выбранной раскладки. .keyboardInputLocale() пробовал, у меня всегда возвращает RU_ru независимо от выбранной раскладки.
Это по тому что сообщение о смене раскладки клавиатуры не доходит до формы (то есть не обрабатывается). Без этой обработки приложение не знает о смене раскладки клавиатуры, а возвращает ту раскладку которая была при запуску программы. Здесь же мы обрабатываем пришедшее сообщение от системы и обновляем все данные в приложении |
|
|
Litkevich Yuriy |
![]()
Сообщение
#12
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
CodeHunter, ты не приводил код отлавливающий смену раскладки. ты привёл код который принудительно переводит интерфейс.
За каким лешим ты его привёл? Здесь же мы обрабатываем пришедшее сообщение от системы и обновляем все данные в приложении в твоём коде не обновляются все данные приложения. Это по тому что сообщение о смене раскладки клавиатуры не доходит до формы покажи место в документции, где упоминает, что в Qt есть сообщение о смене раскладкиты чё несёшь вообще?
Причина редактирования: пропустил слово
|
|
|
kwisp |
![]()
Сообщение
#13
|
![]() астарожна ынтжинэр ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: ![]() ![]() ![]() |
void MainWindow::changeEvent(QEvent *e) { QMainWindow::changeEvent(e); switch (e->type()) { case QEvent::LanguageChange: ui->retranslateUi(this); break; default: break; } } не пойму если сообщение о смене языка уже пришло зачем ui->retranslateUi(this); CodeHunter, можешь полностью рабочий компилируемый пример выложить ? |
|
|
Мотов Юрий |
![]()
Сообщение
#14
|
Новичок Группа: Новичок Сообщений: 6 Регистрация: 13.10.2010 Пользователь №: 2111 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
По keyboardInputLocale() действительно баг
http://bugreports.qt.nokia.com/browse/QTBU...%3Aall-tabpanel А может подскажете алтернативный метод? Видел где-то совет воспользоваться WinAPI, сейчас буду пытаться. И ещё видел что-то с xkb, не смог понять что это такое и счем едят.. |
|
|
kwisp |
![]()
Сообщение
#15
|
![]() астарожна ынтжинэр ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
Litkevich Yuriy |
![]()
Сообщение
#16
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
![]() ![]() ![]() |
![]() |
Текстовая версия | Сейчас: 28.4.2025, 18:47 |