Я пытался понять работу с платформой Qts уже несколько часов, но не понял. Для обработки горячих клавиш я в настоящее время использую смесь X11extras для получения отображения, xlib для преобразования клавиш и xcb для обработки собственных событий Qt. Три библиотеки для ссылки. И при чем здесь недокументированный QPA? Теперь думаю, нужно ли это. Мне нужно некоторое разъяснение здесь. Я использую qt 5.4. Каков путь к будущему?
Требуется разъяснение Qt QPA и X11
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
Вы действительно ожидаете, что я приму этот ответ? Существует множество функций, не охватываемых Qt. Так что мне приходится возиться с нативными событиями. И еще больше я хочу понять, что происходит.
- person ManuelSchneid3r; 14.04.2015
Извинения; из того, что вы обсуждали (ключевые события, обработка событий Qt), я неправильно понял. Можете ли вы уточнить, что вы пытаетесь сделать? Это поможет мне зафиксировать мой ответ для вас. Кстати, QPA еще не общедоступен. Это все приватно, пока API не стабилизируется, хотя мы слышали об этом с версии 5.0.
- person anonymous; 14.04.2015