Как сделать диалоговое окно всегда впереди на уровне моего приложения

Как я могу сделать диалоговое окно Qt всегда сверху на моем уровне приложения?

Я хочу сделать диалоговое окно всегда спереди, но всегда помнить спереди на уровне моего приложения, даже если я нажимаю на пустое место, я хочу, чтобы оно оставалось только в передней части моего приложения.

Я пытался использовать setWindowFlags(Qt::WindowStaysOnTopHint), но это делает диалоговое окно всегда наверху на уровне рабочего стола, но я хочу, чтобы оно было наверху только на уровне моего приложения.

Как я могу это сделать?

4

Решение

Вы можете достичь этого, предоставив родителям диалоги. Дочерний диалог всегда остается поверх родительского окна.

3

Другие решения

Если вы не можете отправить parent в ваше диалоговое окно (на основе условного кода) Как и я, используйте флаги.

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);
}

Я использовал это и хорошо для меня. Показать другие флаги, проверить их и выбрать.

2

По вопросам рекламы [email protected]