Ответ 1
Вы пробовали QWidget:: raise()?
Повышает этот виджет до вершины стека родительского виджета. После этого вызова виджет будет визуально впереди всех совпадающих виджетов. Примечание. При использовании функции activateWindow() вы можете вызвать эту функцию, чтобы убедиться, что окно уложено сверху.
Таким образом, шаблон, который я обычно использую, обеспечит отображение окна, представленное на переднем плане виджетов и приведенное перед другими приложениями:
widget->show();
widget->activateWindow();
widget->raise();