Russian Qt Forum
Ноябрь 24, 2024, 23:27 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: экранная клавиатура на Qt  (Прочитано 5338 раз)
sergant
Гость
« : Январь 24, 2009, 20:27 »

добрый день!

у меня такой вопрос -
делается что-то наподобие экранной клавиатуры для макинтоша, возможно ли сделать так, чтобы главное окно оставалось поверх остальных но при этом не перехватывало фокус ввода из других приложений(любых) при нажатии пользователем на это окно

Сейчас это QMainWindow.
уже пробовал
Код:
setWindowFlags(Qt::Tool | Qt::WindowStaysOnTopHint);
setFocusPolicy(Qt::NoFocus);

окно остается сверху но при щелчке на нем фокус ввода пропадает из пользовательского приложения, при этом мое окно фокус не грабит ..
возможно focusProxy или eventFilter ?? если да то для какого виджета ставить focusProxy.

также есть вариант задать такой вариант напрямую через Carbon - kWindowNoActivatesAttribute. но это не помогло(

возможно ли потом посредством Qt отправлять выбранные символы в приложения с пользовательским фокусом


Заранее спасибо!


Записан
SABROG
Гость
« Ответ #1 : Январь 27, 2009, 18:30 »

Qt не имеет средств для манипуляции чужими окнами. installEventFilter не поможет. Он не перехватывает события чужих приложений. Выкрутится можно только системными API. Но тут без каких-нибудь аналогов установки hook'a и sendkey не обойтись. Возможно придется как-то запоминать последнее окно которое имело фокус прежде чем была нажата клавиша на виртуальной клавиатуре.
Записан
sergant
Гость
« Ответ #2 : Январь 27, 2009, 21:50 »

дааа... уже смотрю в доки по EventHandler-ам
спасибо!
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.045 секунд. Запросов: 20.