Блокируются элементы дочернего окна в Qt C++

У меня есть три окна: MainWindow, SelectPreset, Preset. Окно SelectPreset вызывается из окна MainWindow. А окно Preset вызывается из окна SelectPreset. Но я не могу понять, почему блокируются элементы окна Preset (это происходит почему-то в Debian, в других системах я этого не заметил).

Вот как работают мои файлы:

mainwindow.cpp

MainWindow::MainWindow(QWidget *parent) : 
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
}
.
.
.
SelectPreset select_preset;
select_preset.setModal(true);
select_preset.exec();

selectpreset.cpp

SelectPreset::SelectPreset(QWidget *parent) :
    QDialog(parent),
    ui_selectpreset(new Ui::SelectPreset)
{
    ui_selectpreset->setupUi(this);
}
.
.
.
Preset preset;
preset.setModal(true);
preset.exec();

preset.cpp

Preset::Preset(QWidget *parent) :
    QDialog(parent),
    ui_preset(new Ui::Preset)
{
    ui_preset->setupUi(this);
}

введите сюда описание изображения


Ответы (2 шт):

Автор решения: Helg1980
Preset preset(this);
preset.setModal(true);
preset.exec();
→ Ссылка
Автор решения: Sergey Tatarincev

[virtual slot]int QDialog::exec() Shows the dialog as a modal dialog, blocking until the user closes it. The function returns a DialogCode result.

Используйте show()

Modeless dialogs are displayed using show(), which returns control to the caller immediately.

→ Ссылка