15

如何在我的应用程序级别使 Qt 对话框窗口始终位于顶部?

我想让一个对话框窗口总是在前面,但记住在我的应用程序级别总是在前面,即使我点击一个空白的地方,我也希望它只停留在我的应用程序的前面。

我曾尝试使用setWindowFlags(Qt::WindowStaysOnTopHint),但这使得对话框窗口始终位于桌面级别的顶部,但我希望它仅在我的应用程序级别位于顶部。

我怎样才能做到这一点?

4

2 回答 2

13

您可以通过为对话框提供父级来实现此目的。子对话框始终位于其父窗口的顶部。

于 2014-10-11T15:24:42.877 回答
4

如果您无法parent像我一样发送到您的 dialog_window(基于代码条件),请使用标志。

Dialog_dlg::Dialog_dlg(QWidget *parent)
    : QDialog(parent), ui(new Ui::Dialog_dlg)
{
    ui->setupUi(this);
    setFixedSize(width(), height()); //for no maximaize
    setWindowFlag(Qt::WindowStaysOnTopHint);
}

我用过这个,对我很好。查看其他标志,测试它们,然后选择。

于 2018-08-28T07:17:41.903 回答