介绍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 * | 无 |