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

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

Страниц: 1 [2]   Вниз
  Печать  
Автор Тема: Внедрение интерфейса одного приложения внутрь другого.  (Прочитано 16202 раз)
andrew.k
Гость
« Ответ #15 : Октябрь 20, 2011, 10:27 »

Шаблон он рабочий? Если да, то можно, посмотрю как у тебя получилось.

На сколько я помню я делал ему setFocus () без параметра и это не помогало. Попробую с параметром.
И tab не передавал ему фокус.
А у тебя не так что ли?
Записан
vertus
Гость
« Ответ #16 : Октябрь 20, 2011, 11:28 »

Просто setFocus не катит, т.к., как я уже говорил, embed'ы поддерживают переключение фокуса только по tab.

Единственное в чем проблема, нужно всегда при активизации QX11EmbedContainer передавать фокус по tab. Т.е. если открыл окно с embed а потом перевел фокус на другое, при возвращении embed нужно снова передавать TabFocusReason.

Не, шаблон тоже не рабочий. На работе все сложно.
« Последнее редактирование: Октябрь 20, 2011, 11:30 от vertus » Записан
vertus
Гость
« Ответ #17 : Октябрь 20, 2011, 11:35 »

andrew.k, приведи свой код, я скажу, где подправить.
Записан
andrew.k
Гость
« Ответ #18 : Октябрь 20, 2011, 11:52 »

Т.е. передавать фокус по табу надо всему контейнеру и тогда в нем все контроллы будут работать?
А таб на клавиатуре нажатый будет работать?

Еще, а мышиные события куда поступают? Может их можно как-то транслировать? Через сокет передать например. не пробовал?

Мой тестовый проект еще поискать надо ) год уж прошел)
Найду выложу.
Записан
vertus
Гость
« Ответ #19 : Октябрь 20, 2011, 12:22 »

Т.е. передавать фокус по табу надо всему контейнеру и тогда в нем все контроллы будут работать?

Да.

Цитировать
А таб на клавиатуре нажатый будет работать?

Да.

Цитировать
Еще, а мышиные события куда поступают? Может их можно как-то транслировать? Через сокет передать например. не пробовал?

Не совсем понимаю о чём ты. Мышиные события естественно поступают, иначе как бы на встроенном виджете можно было бы нажимать кнопки, менять фокус (когда установил для контейнера TabFocusReason).
В связи с этим каким-то специальным образом отлавливать мышиные события не приходилось.
Записан
andrew.k
Гость
« Ответ #20 : Октябрь 20, 2011, 14:04 »

Просто у меня как было. После встраивания все контоллы работали как надо. И таб работал и фокус между ними переходил.
Кроме многострочного редактора. Щелчки мышкой на нем ни к чему не приводили.
А как это сопрягается с другими контролами на форме в которую встраиваешь.
Например есть кнопки на самой форме, плюс ниже встроенная другая форма.
Как фокус переходит между ними?
Записан
vertus
Гость
« Ответ #21 : Октябрь 20, 2011, 14:08 »

Просто у меня как было. После встраивания все контоллы работали как надо. И таб работал и фокус между ними переходил.
Кроме многострочного редактора. Щелчки мышкой на нем ни к чему не приводили.
А как это сопрягается с другими контролами на форме в которую встраиваешь.
Например есть кнопки на самой форме, плюс ниже встроенная другая форма.
Как фокус переходит между ними?

Цитировать
When a widget has been embedded and the container receives tab focus, focus is passed on to the widget. When the widget reaches the end of its focus chain, focus is passed back to the container.

Т.е. до тех пор пока tab-ом не пройдешь все фокусные элементы на встраиваемом widget'е, фокус будет находиться в QX11EmbedContainer (опять таки, при условии передачи фокуса ему по TabFocusReason).
Записан
Страниц: 1 [2]   Вверх
  Печать  
 
Перейти в:  


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