class KeyPressFilter : public QObject
{
protected:
bool eventFilter(QObject *obj, QEvent *event) override
{
if(event->type() == QEvent::KeyPress) {
QKeyEvent *keyEvent = static_cast<QKeyEvent *>(event);
qDebug("key press %d", keyEvent->key());
}
return QObject::eventFilter(obj, event);
}
};
int main(int argc, char *argv[])
{
QGuiApplication app(argc, argv);
KeyPressFilter keyPressFilter;
app.installEventFilter(&keyPressFilter);
...
return app.exec();
}
Qt全局监听事件
最新推荐文章于 2024-01-30 13:41:33 发布
该代码示例展示了一个名为KeyPressFilter的类,继承自QObject,重写了eventFilter函数以捕获并处理键盘按键事件。当检测到QEvent类型的KeyPress时,它会打印出按键的键值。这个类被安装在QGuiApplication上,以便监控全局键盘事件。
摘要由CSDN通过智能技术生成