crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> [РЕШЕНО] Закрытие программы при закрытии "дочернего окна"
greh
  опции профиля:
сообщение 13.1.2011, 19:24
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 48
Регистрация: 23.11.2009
Пользователь №: 1252

Спасибо сказали: 0 раз(а)




Репутация:   0  


Есть "главное окно" - виджет с вот такими параметрами окна: Qt::WindowStaysOnBottomHint | Qt::FramelessWindowHint | Qt::Tool на нём куча всего-всего и по нажатию отпределённой кнопки вызывается QCalendarWidget, при закрытии оного программа завершается с кодом 0. Думаю проблема в том, что после вызова календарика Qt считает этот календарик главным окном (ведь основное всего лишь Qt::Tool). Возможно я ошибаюсь, не подскажете в чём причина и куда копать?

P.S. без Qt::Tool не закрывается, но фишка данной программы как раз в этом.

Сообщение отредактировал greh - 13.1.2011, 20:59
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Rocky
  опции профиля:
сообщение 13.1.2011, 19:51
Сообщение #2


Старейший участник
****

Группа: Участник
Сообщений: 530
Регистрация: 22.12.2008
Из: Санкт-Петербург
Пользователь №: 463

Спасибо сказали: 22 раз(а)




Репутация:   7  


Попробуй переопределить closeEvent... и говорить event->ignore()

Ну естественно добавить условие, какое-нить хитрое, чтобы выяснять, с чего вдруг нужно выходить
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
greh
  опции профиля:
сообщение 13.1.2011, 20:29
Сообщение #3


Студент
*

Группа: Участник
Сообщений: 48
Регистрация: 23.11.2009
Пользователь №: 1252

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(Rocky @ 13.1.2011, 21:51) *
Попробуй переопределить closeEvent... и говорить event->ignore()

Ну естественно добавить условие, какое-нить хитрое, чтобы выяснять, с чего вдруг нужно выходить


event->ignore() игнорируется ;) что за беспредел? )

оказывается в closeEvent при таком закрытии он вообще не заходит.

Сообщение отредактировал greh - 13.1.2011, 20:47
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
igor_bogomolov
  опции профиля:
сообщение 13.1.2011, 20:50
Сообщение #4


Профессионал
*****

Группа: Сомодератор
Сообщений: 1215
Регистрация: 22.3.2009
Из: Саратов
Пользователь №: 630

Спасибо сказали: 235 раз(а)




Репутация:   29  


Цитата
quitOnLastWindowClosed : bool
This property holds whether the application implicitly quits when the last window is closed.
The default is true.
If this property is true, the applications quits when the last visible primary window (i.e. window with no parent) with the Qt::WA_QuitOnClose attribute set is closed. By default this attribute is set for all widgets except for sub-windows. Refer to Qt::WindowType for a detailed list of Qt::Window objects.
Access functions:
bool quitOnLastWindowClosed ()
void setQuitOnLastWindowClosed ( bool quit )
See also quit() and QWidget::close().
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 29.3.2024, 0:34