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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Деструктор главной формы вызывается с задержкой  (Прочитано 2624 раз)
lexaaleynik
Гость
« : Май 13, 2016, 11:20 »

Программа обменивается по COM-порту с подключенным устройством. Используются QEventloop-ы. При нажатии на кнопку закрыть (кнопка с крестиком в верхнем правом углу) деструктор вызывается с задержкой и обмен ещё продолжается какое-то время, что нехорошо.

Главная форма - объект класса QMainWindow. Я не нашёл в документации, необходимого сигнала, высылаемого при нажатии кнопки с крестиком. Вообще говоря, я не нашёл как обратиться ни к самой кнопке "закрыть", ни к кнопке "свернуть", ни к кнопке "смаштабировать во весь экран".
« Последнее редактирование: Май 13, 2016, 12:11 от lexaaleynik » Записан
VPS
Гость
« Ответ #1 : Май 13, 2016, 11:51 »

Я не нашёл в документации, необходимого сигнала, высылаемого при нажатии кнопки с крестиком.
Смотрите документацию по классу "QCloseEvent", а также почитайте про события.
Записан
Bepec
Гость
« Ответ #2 : Май 13, 2016, 12:02 »

Ну сутя по данным, у вас происходит "забитие" главного евент лупа. Как вариант - вынесите работу с устройством в поток.
Записан
lexaaleynik
Гость
« Ответ #3 : Май 13, 2016, 12:10 »

Я не нашёл в документации, необходимого сигнала, высылаемого при нажатии кнопки с крестиком.
Смотрите документацию по классу "QCloseEvent", а также почитайте про события.

Переопределил виртуальный метод QMainWindow::closeEvent(), в котором просто вызвал exit(0). И всё получилось, спасибо.
« Последнее редактирование: Май 13, 2016, 12:19 от lexaaleynik » Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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