crossplatform.ru

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


  Ответ в Текущая раскладка клавиатуры
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
Теги
Выровнять по центру
Ссылка на тему
Ссылка на сообщение
Скрытый текст
Сокращение
Код с подсветкой
Offtopic
 
Удалить форматирование
Спец. элементы
Шрифт
Размер
 
Цвет шрифта
 
Отменить ввод
Вернуть ввод
Полужирный
Курсив
Подчеркнутый
 
 
Смайлики
Вставить изображение
Вставить адрес электронной почты
Цитата
Код
Раскрывающийся текст
 
Увеличить отступ
По левому краю
По центру
По правому краю
Вставить список
Вставить список

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
Litkevich Yuriy Дата 2.11.2010, 15:10
 
Цитата(Мотов Юрий @ 2.11.2010, 17:49) *
А может подскажете алтернативный метод?
попробуй контролировать событие QEvent::KeyboardLayoutChange
kwisp Дата 2.11.2010, 14:54
 
Цитата(Мотов Юрий @ 2.11.2010, 14:49) *
По keyboardInputLocale() действительно баг

ч.т.д.

ждём все вместе от CodeHunter`а рабочий пример.
Мотов Юрий Дата 2.11.2010, 14:49
  По keyboardInputLocale() действительно баг
http://bugreports.qt.nokia.com/browse/QTBU...%3Aall-tabpanel

А может подскажете алтернативный метод? Видел где-то совет воспользоваться WinAPI, сейчас буду пытаться.
И ещё видел что-то с xkb, не смог понять что это такое и счем едят..
kwisp Дата 2.11.2010, 14:46
 
Цитата(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,
можешь полностью рабочий компилируемый пример выложить ?
Litkevich Yuriy Дата 2.11.2010, 14:29
  CodeHunter, ты не приводил код отлавливающий смену раскладки. ты привёл код который принудительно переводит интерфейс.
За каким лешим ты его привёл?

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

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

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


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

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


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


Это по тому что сообщение о смене раскладки клавиатуры не доходит до формы (то есть не обрабатывается). Без этой обработки приложение не знает о смене раскладки клавиатуры, а возвращает ту раскладку которая была при запуску программы. Здесь же мы обрабатываем пришедшее сообщение от системы и обновляем все данные в приложении
igor_bogomolov Дата 2.11.2010, 12:37
 
Цитата(CodeHunter @ 1.11.2010, 21:19) *
Здесь же мы обрабатываем пришедшее сообщение от системы и обновляем все данные в приложении
нам не нужно обновлять никаких данных. Нам нужно узнать текущую раскладку клавиатуры. Где в твоем коде это делается?
CodeHunter Дата 2.11.2010, 11:37
 
Цитата(Litkevich Yuriy @ 2.11.2010, 10:19) *
CodeHunter, ты не ответил на мой вопрос



Цитата(CodeHunter @ 1.11.2010, 20:19) *
Здесь же мы обрабатываем пришедшее сообщение от системы и обновляем все данные в приложении
Litkevich Yuriy Дата 2.11.2010, 11:19
  CodeHunter, ты не ответил на мой вопрос
CodeHunter Дата 1.11.2010, 21:19
 
Цитата
keyboardInputLocale() пробовал, у меня всегда возвращает RU_ru независимо от выбранной раскладки.


Это по тому что сообщение о смене раскладки клавиатуры не доходит до формы (то есть не обрабатывается). Без этой обработки приложение не знает о смене раскладки клавиатуры, а возвращает ту раскладку которая была при запуску программы. Здесь же мы обрабатываем пришедшее сообщение от системы и обновляем все данные в приложении
Просмотр темы полностью (откроется в новом окне)
RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 5.7.2025, 4:50