Требуется разъяснение Qt QPA и X11

Я пытался понять работу с платформой Qts уже несколько часов, но не понял. Для обработки горячих клавиш я в настоящее время использую смесь X11extras для получения отображения, xlib для преобразования клавиш и xcb для обработки собственных событий Qt. Три библиотеки для ссылки. И при чем здесь недокументированный QPA? Теперь думаю, нужно ли это. Мне нужно некоторое разъяснение здесь. Я использую qt 5.4. Каков путь к будущему?


person ManuelSchneid3r    schedule 13.04.2015    source источник
comment
Разве это не должно быть в списке разработчиков Qt?   -  person Gui13    schedule 14.04.2015


Ответы (1)


Для Qt вам не нужно выполнять какое-либо собственное кодирование платформы для ключевых событий, если вы не используете собственные окна. Прочтите о QEvent и функциях событий в QWidget.

Используйте QWidget::nativeEvent() или QCoreApplication::installNativeEventFilter(), если вам нужен прямой доступ к необработанным событиям X11. Собственные фильтры событий на уровне приложения обрабатываются для каждого события и оказывают большее влияние на производительность, чем создание подкласса QWidget и повторная реализация nativeEvent().

Прочтите о QWindow::fromWinId() и QWidget::createWindowContainer(), если вам нужно встроить собственное окно в качестве дочернего виджета.

person anonymous    schedule 14.04.2015
comment
Вы действительно ожидаете, что я приму этот ответ? Существует множество функций, не охватываемых Qt. Так что мне приходится возиться с нативными событиями. И еще больше я хочу понять, что происходит. - person ManuelSchneid3r; 14.04.2015
comment
Извинения; из того, что вы обсуждали (ключевые события, обработка событий Qt), я неправильно понял. Можете ли вы уточнить, что вы пытаетесь сделать? Это поможет мне зафиксировать мой ответ для вас. Кстати, QPA еще не общедоступен. Это все приватно, пока API не стабилизируется, хотя мы слышали об этом с версии 5.0. - person anonymous; 14.04.2015