介绍Qt4和Qt5获取Windows系统事件的方法。
bool QWidget::winEvent(MSG *message, long *result)
bool QCoreApplication::winEventFilter(MSG *msg, long *result)
bool QWidget::nativeEvent(const QByteArray &eventType, void *message, long *result)
bool QAbstractNativeEventFilter::nativeEventFilter(const QByteArray &eventType, void *message, long *result)
并安装到:
void QCoreApplication::installNativeEventFilter(QAbstractNativeEventFilter *filterObj)
或安装到:
void QAbstractEventDispatcher::installNativeEventFilter(QAbstractNativeEventFilter *filterObj)
平台 | 事件类型(eventType) | 消息类型(message) | 结果类型(result) |
---|---|---|---|
Windows | "windows_generic_MSG" | MSG * | LRESULT |
macOs | "NSEvent" | NSEvent * | 无 |
XCB(Linux) | "xcb_generic_event_t" | xcb_generic_event_t * | 无 |