我需要以编程方式了解哪些窗口/对话框/窗口小部件是打开的,因为我正在使用FileOpenEvent
来加载文件,而我只想加载文件,如果QMainWindow
是唯一的事情开放。
答案 0 :(得分:0)
我发现迭代所有QWindow
并检查多个isExposed() == true
处理我正在做的所有事情,除了原生Mac对话框(另存为,打印和打开文件)。所以这似乎足以满足我的需求:
bool found_exposed_window = false;
foreach (QWindow *window, qApp->allWindows()) {
if (window->isExposed()) {
if (found_exposed_window) {
// This is the second exposed window, meaning the user has something
// open in addition to the main form.
// So, don't try to load a file.
return;
}
found_exposed_window = true;
}
}