Qt setWindowFlags WindowDoesNotAcceptFocus не работает на Wayland

Я делаю пользовательскую виртуальную клавиатуру, основанную на QWidget.

И это работает правильно на Windows/Ubuntu OS.

Но когда я развернул его на своей целевой плате разработки, основанной на ARM, он не работает. Когда я щелкаю поле ввода, клавиатура отображается и сразу исчезает. Я проверяю свой журнал клавиатуры, кажется, что клавиатура принимает фокус, а затем вызывает функцию фиксации (из QPlatformInputContext).

Я установил свою точку зрения:view->setWindowFlags(Qt::Tool | Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint | Qt::WindowDoesNotAcceptFocus);

Если я изменю export QT_QPA_PLATFORM=wayland в export QT_QPA_PLATFORM=linuxfbКлавиатура работает так же, как и на рабочем столе.

Но по какой-то причине я не могу изменить это.

Любой совет оценил это, спасибо заранее.

0 ответов

Другие вопросы по тегам