Название: Дочернее окно Отправлено: Wachburn от Января 18, 2010, 00:36 есть Главное окно, при нажатии на кнопку в нем вызывается еще одно окошко. Как сделать, чтобы при закрытии этого окна закрывалось и главное окно? Если ставлю, что вызываемое окно - подчиненное вызываемому, то это окно сразу появляется на форме. Как его сделать дочерним, но чтоб оно было самостоятельным, а не размещалось на главном окне?
Название: Re: Дочернее окно Отправлено: BlackTass от Января 18, 2010, 01:09 вызов close() либо после exec()-а дочернего (если модальное), либо вызов close() в слоте главного окна, привязанного к сигналу finished(если используется QDialog для дочернего), либо в евентфильтре, привязанному к дочернему окну по событию closeEvent.
Название: Re: Дочернее окно Отправлено: Wachburn от Января 18, 2010, 14:21 вызов close() либо после exec()-а дочернего (если модальное), либо вызов close() в слоте главного окна, привязанного к сигналу finished(если используется QDialog для дочернего), либо в евентфильтре, привязанному к дочернему окну по событию . Дочернее окно у меня наследник QWidget, но дочернее оно только на словах, т.е. когда оно создавалось,то в нем родитель не указывался, т.е. так billForm = new BillForm(0); потом по нажатии на кнопку в главном меню это окно открывается, так connect(button, SIGNAL(clicked()), billForm, SLOT(show())); теперь, когда оно видно, я хочу чтоб при закрытии главного окна, это окно billForm закрывалось... Делаю как ты говоришь connect(this, SIGNAL(closeEvent()), billForm, SLOT(close())); но это не работает, также с сигналом destroyed() не работает. Можешь подсказать как вообще дочерние окна реализовывать? чтоб объявляя их можно было им родителя указывать, но чтоб они при этом не появлялись сразу на родителе? Все, вопрос решен Название: Re: Дочернее окно Отправлено: crossly от Января 18, 2010, 16:53 использовать QDialog.... использовать setWindowFlag(Qt::Window).... а лучше всего читать ассистент... :)
|