Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

Фокус ввода при переключении приложений



  • Всем привет!
    Имеется программа, которая выполняет как бы функцию диспетчера, и запускает другие приложения (3-4) через QProcess.
    Запускаются приложения в полноэкранном режиме. Причем все время видно только одно приложение. Переключение между ними реализовано через pipe. Таким образом, когда мы переключаемся, одно приложение скрывается (setvisible(false)) другое же, появляется (setvisible(true)).
    Вот тут и начинаются проблемы. Иногда!! фокус теряется, и запущенное приложение не реагирует на нажатия клавиш.
    Пробовал вместе с setvisible(true) делать setFocus();
    setActivateWindow() (в документации написано что, приложение должно быть в top level однако этого не происходит)
    пробовал через библиотеку X11 реализовать активацию окна с получением фокуса, однако тоже бесполезно.
    Примечательно, что иногда фокус срабатывает, а иногда нет.
    Тестировал на Ubuntu 10.04, 10.10, 11.10 (x86, x64). Везде одна и таже проблема. Версия Qt 4.7.4
    Подскажите, что можно здесь сделать?
    Заранее спасибо


Log in to reply