Russian Qt Forum
Июля 08, 2025, 00:29 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Почему локальная переменная типа QWidget не удаляется  (Прочитано 2957 раз)
trot
Гость
« : Июня 01, 2011, 20:21 »

Создаю в методе локальную переменную типа QWidget (см. пример)
Код:
void myClass::myMethod(){
   QWidget widget1(this);
   // далее создаю форму
   ...
  widget1.show();
}
Окно создается и отображается на экране. Вопрос заключается в том, почему окно отображается, а не удаляется при выходе из метода? Локальные переменные должны удаляться при выходе из метода и соответственно окно тоже должно удалиться. Поясните почему окно не удаляется? Спасибо.
Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #1 : Июня 01, 2011, 20:44 »

хз. должна удаляться:)
приведи больше кода...
Записан
trot
Гость
« Ответ #2 : Июня 01, 2011, 21:16 »

Вот код.
Код:
	
void testWidget::myclick(){
QWidget widget1(this, Qt::CustomizeWindowHint | Qt::Dialog);
widget1.resize(600,800);
widget1.show();
QEventLoop eventLoop;
           eventLoop.exec(QEventLoop::DialogExec);
}

Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #3 : Июня 01, 2011, 21:40 »

потому что ты не выходишь из ф-ии
Записан
LisandreL
Птица говорун
*****
Offline Offline

Сообщений: 984


Надо улыбаться


Просмотр профиля
« Ответ #4 : Июня 01, 2011, 21:41 »

А вы никуда из метода и не выходите - так и крутитесь в eventLoop.exec(QEventLoop::DialogExec); .

Код
C++ (Qt)
void testWidget::myclick(){
QWidget widget1(this, Qt::CustomizeWindowHint | Qt::Dialog);
widget1.resize(600,800);
widget1.show();
QEventLoop eventLoop;
          eventLoop.exec(QEventLoop::DialogExec);
          qDebug( "We don't come there "); // до сюда не дойдём
}
Записан
trot
Гость
« Ответ #5 : Июня 01, 2011, 21:51 »

Понял. Спасибо.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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