Нужны уточнения Qt QPA и X11

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

1 ответ

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

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

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

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