Qt是一个开源的跨平台C++图形用户界面框架,在开发图形界面应用程序时非常方便。
在Qt中,如果想要捕获一个窗口失去焦点的事件,可以使用QWidget的focusOutEvent()函数。该函数是QWidget的虚函数,可以在继承的子类中重写来实现自定义的焦点失去事件处理。
示例代码如下:
#include <QApplication>
#include <QWidget>
#include <QDebug>
class MyWidget : public QWidget
Q_OBJECT
public:
explicit MyWidget(QWidget *parent = nullptr) : QWidget(parent) {}
protected:
void focusOutEvent(QFocusEvent *event)
qDebug() << "Window Lost Focus";
QWidget::focusOutEvent(event);
int main(int argc, char *argv[])
QApplication a(argc, argv);
MyWidget w;
w.show();
return a.exec();
代码中,我们继承自QWidget,并重写了focusOutEvent()函数,在该函数中可以加入自己的事件处理代码。