我有一个应用程序,在其上显示配置面板(QFrame)来设置配置。现在我想要在用户点击应用程序的其他任何地方时关闭配置面板的功能,但如果用户单击应用程序外部的任何地方,则不应关闭应用程序。QApplication :: activeWindow在Mac上始终返回'0'
目前我有以下代码在Win 7上正常工作,但在Mac上有问题。如果我们点击应用程序(但外面配置面板)和零值,任何地方,如果我点击任何其他应用程序,它是什么,预计
void ConfigurationPanel::changeEvent (QEvent * event)
{
if(event->type() == QEvent::ActivationChange)
{
if(!isActiveWindow())
{
if(QApplication::activeWindow())
{
close();
}
}
}
}
在Windows上的QApplication :: activeWindows()返回非零值。但是在Mac上,无论我点击什么,QApplication :: activeWindow()都会得到零值。
谁能告诉我我该如何解决这个问题?
谢谢