Я часами пытался понять работу с платформой Qts, но не понимаю. Для обработки горячих клавиш в настоящее время я использую смесь X11extras для отображения, xlib для преобразования ключей и xcb для обработки собственных событий Qt. Три библиотеки для связи. И где здесь играют роль недокументированные QPA? Теперь мне интересно, если это необходимо. Мне нужно немного разъяснений здесь. Я использую QT 5.4. Какой путь идти в будущее?
Для Qt вам не нужно создавать какие-либо собственные программные платформы для ключевых событий, если вы не используете собственные окна. Прочитать о QEvent и событие функционирует в QWidget
,
использование QWidget :: nativeEvent () или же QCoreApplication :: installNativeEventFilter () если вам нужен прямой доступ к необработанным событиям X11. Собственные фильтры событий на уровне приложения обрабатываются для каждого события и оказывают большее влияние на производительность, чем на подклассы. QWidget
и переопределение nativeEvent()
,
Прочитать о QWindow :: fromWinId () а также QWidget::createWindowContainer()
если вам нужно встроить родное окно в качестве дочернего виджета.