Название: QMessageBox поверх QDialog, поверх QDialog Отправлено: Dexel от Сентябрь 11, 2014, 02:09 Здравствуйте.
Основное окно созаётся как QDialog (1). Поверх него ещё один QDialog (2). Поверх него QMessageBox (3). При открытии 3, закрывается 2. Оба открываются методом exec(). Как сделать чтоб не закрывался 2 диалог при открытии MessageBox 3? Название: Re: QMessageBox поверх QDialog, поверх QDialog Отправлено: Figaro от Сентябрь 11, 2014, 04:41 Минимально компилируемый проект в студию... Или к Ванге...
Название: Re: QMessageBox поверх QDialog, поверх QDialog Отправлено: Fregloin от Сентябрь 11, 2014, 11:07 при создании QMessageBox(3) в конструктор передавать парента QDialog(2)
QDialog d2; d2.exex(); QMessageBox m3(&d2); m3.exex(); поидее так Название: Re: QMessageBox поверх QDialog, поверх QDialog Отправлено: Dexel от Сентябрь 11, 2014, 12:08 Минимально компилируемый проект в студию... Или к Ванге... Figaro, положил проект.Fregloin, парентом для MessageBox является текущий диалог(2). Указал QMessagebox msgBox(this), - то ж самое. Название: Re: QMessageBox поверх QDialog, поверх QDialog Отправлено: qate от Сентябрь 11, 2014, 12:19 в Dialog2 вешайся на кнопку OK, и там принимай решение - accept или reject
Название: Re: QMessageBox поверх QDialog, поверх QDialog Отправлено: OKTA от Сентябрь 11, 2014, 12:30 У тебя ж прописаны сигналы accepted и rejected в Dialog2 (через дизайнер). Вот он и закрывается по приходу этих сигналов. Убираешь их и все ок.
Название: Re: QMessageBox поверх QDialog, поверх QDialog Отправлено: Dexel от Сентябрь 11, 2014, 14:48 Аййй, всё, понял :)
Может кому пригодится. Изменённая реализация класса qdialog2.cpp Код: Dialog2::Dialog2(QWidget *parent) : Спасибо всем! Название: Re: QMessageBox поверх QDialog, поверх QDialog Отправлено: OKTA от Сентябрь 11, 2014, 14:58 Ставь [РЕШЕНО] в заголовке темы, если проблема решена.
Название: Re: QMessageBox поверх QDialog, поверх QDialog Отправлено: Dexel от Октябрь 25, 2014, 15:12 Ставь [РЕШЕНО] в заголовке темы, если проблема решена. Название: Re: QMessageBox поверх QDialog, поверх QDialog Отправлено: gil9red от Октябрь 25, 2014, 15:28 Тыкаете на "Изменить" и меняете заголовок. Для таких проверок у QString есть метод isEmpty (http://qt-project.org/doc/qt-4.8/qstring.html#isEmpty) Код: if(ui->lineEdit->text() == "") Код: if(ui->lineEdit->text().isEmpty()) |