crossplatform.ru

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

2 страниц V  < 1 2  
Ответить в данную темуНачать новую тему
> Текущая раскладка клавиатуры, Получение и смена
CodeHunter
  опции профиля:
сообщение 2.11.2010, 14:25
Сообщение #11


Студент
*

Группа: Участник
Сообщений: 33
Регистрация: 26.8.2010
Пользователь №: 1982

Спасибо сказали: 1 раз(а)




Репутация:   0  


Цитата(igor_bogomolov @ 2.11.2010, 11:37) *
ним ни нужно обновлять ни каких данных. Нам нужно узнать текущую раскладку клавиатуры. Где в твоем коде это делается?


Сначала посмотри на мой ответ, а потом задавай такие вопросы . :ireful: Я ответил человеку на вопрос :

Цитата
keyboardInputLocale() пробовал, у меня всегда возвращает RU_ru независимо от выбранной раскладки.
.


Цитата(CodeHunter @ 1.11.2010, 20:19) *
keyboardInputLocale() пробовал, у меня всегда возвращает RU_ru независимо от выбранной раскладки.


Это по тому что сообщение о смене раскладки клавиатуры не доходит до формы (то есть не обрабатывается). Без этой обработки приложение не знает о смене раскладки клавиатуры, а возвращает ту раскладку которая была при запуску программы. Здесь же мы обрабатываем пришедшее сообщение от системы и обновляем все данные в приложении
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 2.11.2010, 14:29
Сообщение #12


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


CodeHunter, ты не приводил код отлавливающий смену раскладки. ты привёл код который принудительно переводит интерфейс.
За каким лешим ты его привёл?

Цитата(CodeHunter @ 2.11.2010, 18:25) *
Здесь же мы обрабатываем пришедшее сообщение от системы и обновляем все данные в приложении
в твоём коде не обновляются все данные приложения.

Цитата(CodeHunter @ 2.11.2010, 18:25) *
Это по тому что сообщение о смене раскладки клавиатуры не доходит до формы
покажи место в документции, где упоминает, что в Qt есть сообщение о смене раскладки

ты чё несёшь вообще?
Причина редактирования: пропустил слово
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 2.11.2010, 14:46
Сообщение #13


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

Спасибо сказали: 113 раз(а)




Репутация:   23  


Цитата(CodeHunter @ 1.11.2010, 17:40) *
void MainWindow::changeEvent(QEvent *e)
{
QMainWindow::changeEvent(e);
switch (e->type()) {
case QEvent::LanguageChange:
ui->retranslateUi(this);
break;
default:
break;
}
}

не пойму если сообщение о смене языка уже пришло зачем ui->retranslateUi(this);
CodeHunter,
можешь полностью рабочий компилируемый пример выложить ?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Мотов Юрий
  опции профиля:
сообщение 2.11.2010, 14:49
Сообщение #14


Новичок


Группа: Новичок
Сообщений: 6
Регистрация: 13.10.2010
Пользователь №: 2111

Спасибо сказали: 0 раз(а)




Репутация:   0  


По keyboardInputLocale() действительно баг
http://bugreports.qt.nokia.com/browse/QTBU...%3Aall-tabpanel

А может подскажете алтернативный метод? Видел где-то совет воспользоваться WinAPI, сейчас буду пытаться.
И ещё видел что-то с xkb, не смог понять что это такое и счем едят..
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 2.11.2010, 14:54
Сообщение #15


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

Спасибо сказали: 113 раз(а)




Репутация:   23  


Цитата(Мотов Юрий @ 2.11.2010, 14:49) *
По keyboardInputLocale() действительно баг

ч.т.д.

ждём все вместе от CodeHunter`а рабочий пример.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 2.11.2010, 15:10
Сообщение #16


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(Мотов Юрий @ 2.11.2010, 17:49) *
А может подскажете алтернативный метод?
попробуй контролировать событие QEvent::KeyboardLayoutChange
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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




RSS Текстовая версия Сейчас: 28.4.2025, 18:47