我有一個應用程序,在其上顯示配置面板(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()都會得到零值。
誰能告訴我我該如何解決這個問題?
謝謝