LINUX.ORG.RU

qt4, вывод сообщений а-ля нотификации аськи


0

0

Пишу программку которая по веб запрашивает "что нового" и должна выводить окна нотификации.

Текущие проблемы: 1) при закрытии всех открывшихся окон нотификации мышкой закрывается сама программа, а она должна спокойно висеть в трее. Не могу понять куда копать на тему того когда qt считает что программа завершена.

2) так и не понял что происходит в qt при нажатии на "закрыть окно", в том смысле что у меня есть MyWindow **windows; в которое суются окна созданные new MyWindow(). Нужно ли удалять с помощью delete данные оттуда и как их удалять?

Попытался на QDialog::finished() повесить обработку перераспределяющую окна по дисплею и удаляющую окно windows[f]==sender() но обработчик периодически(!) на этом валится.

требуется помощь коллективного разума.

★★★

Перехватывай closeEvent

kitov ★★★
()

PS
2) Если эти MyWindow наследники QObject и у них есть "родители" то нет ,
иначе ручками qDeleteAll(windows)

kitov ★★★
()
Ответ на: комментарий от kitov

как я понял qDeleteAll ничем от delete не отличается?
а как всё-таки сделать чтобы программа не завершала выполнение?

vahvarh ★★★
() автор топика
Ответ на: комментарий от vahvarh

> как я понял qDeleteAll ничем от delete не отличается?

delete "подчистит" память за всеми элементами контейнера ?

> как всё-таки сделать чтобы программа не завершала выполнение?

Перехватывай closeEvent , писал уже .

void MyWindow::closeEvent(QCloseEvent * event)
{
// check pointer
if(...)
event->ignore(); // авотхуй
else
event->accept();
}

kitov ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.