Russian Qt Forum
Ноябрь 24, 2024, 14:26 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Возникает ошибка в mdi приложении (текстовый редактор).  (Прочитано 3220 раз)
bk-201
Гость
« : Апрель 08, 2012, 23:37 »

Доброго времени суток)

Файлы с исходным кодом прикреплены в архиве.

В методе void MainWindow::closeEvent(QCloseEvent *event),
при вызове слота maWorkSpace->closeAllSubWindows(); программа аварийно завершается.
Не могу понять в чем проблема.

Есть идеи?

Заранее спасибо, что уделили время моему вопросу)))

p.s. Если будут замечания по коду, то тоже с удовольствием выслушаю.


« Последнее редактирование: Апрель 08, 2012, 23:48 от bk-201 » Записан
mutineer
Гость
« Ответ #1 : Апрель 08, 2012, 23:43 »

без .pro не собирается)))
Записан
bk-201
Гость
« Ответ #2 : Апрель 08, 2012, 23:48 »

Спасибо) Исправил)
Записан
mutineer
Гость
« Ответ #3 : Апрель 08, 2012, 23:55 »

создал две вкладки, закрыл окно. вылетело в этой строке, потому что p = 0
Код:
void MainWindow::slotUpdateMenu(QMdiSubWindow *p)
{
MdiChild *pDoc = qobject_cast<MdiChild*>(p->widget());
Записан
bk-201
Гость
« Ответ #4 : Апрель 08, 2012, 23:59 »

создал две вкладки, закрыл окно. вылетело в этой строке, потому что p = 0
Код:
void MainWindow::slotUpdateMenu(QMdiSubWindow *p)
{
MdiChild *pDoc = qobject_cast<MdiChild*>(p->widget());

Да и правда здесь ошибка...
Спасибо, буду думать как исправить)
Записан
mutineer
Гость
« Ответ #5 : Апрель 09, 2012, 00:02 »

если надо быстро и банально - if(!p) return;
но вообще лучше разберись почему оно так
Записан
bk-201
Гость
« Ответ #6 : Апрель 09, 2012, 00:03 »

Пока, кажется, время есть, а если не останется, сделаю быстро и банально Подмигивающий
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.049 секунд. Запросов: 20.