我在表单上为我的小部件安装了eventFilter
,这是代码:
te_Execute->installEventFilter(&w);
在w.eventFilter
我检查事件是否为focusOut
,如果是,则退出:
bool FastExecute::eventFilter(QObject *object, QEvent *event) {
if (event->type() == QEvent::FocusOut && object == (QComboBox*) gui["te_Execute"])
exit(0);
return false;
}
但是当我改变语言(Ctrl + Shift)时,我的应用程序正在关闭,因为focusOut
事件有效。为什么会这样?
您可以在github.com
上看到完整的代码:https://github.com/EfogDev/FastExecute
谢谢!