我有一个带有两个UI类/表单的Qt项目。主类创建一个second_window对象并打开第二个窗口,如下所示:
second_window* sec_win = new second_window(this);
Qt::WindowFlags flags = sec_win->windowFlags();
sec_win->setWindowFlags((flags | Qt::WindowMinMaxButtonsHint) & ~Qt::WindowContextHelpButtonHint);
sec_win->show();
第二个窗口打开并显示正常。我仍然可以与主窗口进行交互,但是单击主窗口不会将其带到第二个窗口的前面。第二个窗口始终位于第一个窗口的顶部。知道怎么改变这个吗?我已经研究了所有的Qt :: WindowFlags,但它们似乎都不是我需要的。我还研究过show()方法的替代方案,但没有运气。
答案 0 :(得分:1)
QWidget::raise()
。或者传递nullptr
而不是this
。并且不要忘记发布小部件内存。