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

185
22 апреля 2022, 01:00

У меня есть три окна: 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);
}

Answer 1

[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.

Answer 2
Preset preset(this);
preset.setModal(true);
preset.exec();
READ ALSO
Пожалуйста найти ошибку. По возможности дорешать задачу

Пожалуйста найти ошибку. По возможности дорешать задачу

Дана квадратная матрицаЕсли в i-ой строке матрицы элемент принадлежащий главной диагонали отрицателен, то заменить этот элемент суммой элементов...

202
Подключение библиотек boost к visual studio code

Подключение библиотек boost к visual studio code

Я установил себе на компьютер boostПрошел все этапы установки по гайду из интернета,подключил скомпилированные библиотеки в cpp-properties

128
Явный вызов деструктора в классе

Явный вызов деструктора в классе

У меня есть класс Function и Hyperbola, который наследует FunctionПоскольку формула гиперболы k / x, то делаю проверку x == 0 и в случае, если х==0 удаляю этот...

144
Почему меняется тип объекта? (виртуальная функция)

Почему меняется тип объекта? (виртуальная функция)

Есть родительский класс command и два дочерних - movement и rootЗаголовочный файл:

90