Russian Qt Forum
Ноябрь 23, 2024, 04:39
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Qt Quick
(Модератор:
navrocky
) >
Падение приложения при удалении окна
Страниц:
1
[
2
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Падение приложения при удалении окна (Прочитано 8385 раз)
ecspertiza
Супер
Offline
Сообщений: 1053
С уважением, мастер конфетного цеха!
Re: Падение приложения при удалении окна
«
Ответ #15 :
Сентябрь 29, 2016, 13:10 »
Есть класс SurfaceWindow унаследован от QDeclarativeView в нем переопределен keyPressEvent()
есть некая функция допустим foo(), так вот и кнопка в qml и keyPressEvent() дергают эту функцию, после чего происходит закрытие и удаление формы. Удаляю ее так как она достаточно тяжелая и не очень хочется занимать место в памяти.
Далее идет различное поведение, на всех Windows и Linux машинах работает хорошо, под mac os есть некоторый процент машин на котором после этого падает. Общее количество пользователей приложения большое. По этому если бы где то еще была такая проблема, точно знали бы.
Записан
ecspertiza
Супер
Offline
Сообщений: 1053
С уважением, мастер конфетного цеха!
Re: Падение приложения при удалении окна
«
Ответ #16 :
Октябрь 03, 2016, 12:38 »
В продолжение темы. Решил по убирать все delete и deleteLater(), ну вдруг где то есть баг. Для формы оставил только close(), но при этом выставил атрибут Qt::WA_DeleteOnClose. Теперь приложение крашилось сразу после закрытия, при тех же условиях, только под маками. Сделал следующее, перенес удаление окна непосредственно перед вызовом show(). То есть, перед показом, я проверяю есть ли указатель или нет, если есть, удаляю и создаю новый. Наверное не лучшее архитектурное решение, но оно работает :-)
Записан
OKTA
Гость
Re: Падение приложения при удалении окна
«
Ответ #17 :
Ноябрь 05, 2016, 04:01 »
У меня похожим образом на уничтожении QDeclarativeView крашится. Причем тоже абсолютно рандомно. Правда у меня вьюха встраивается в обычный лэйаут.
Чтобы не крашилось, перед уничтожением зануляю родителя у вьюхи и удаляю через deleteLater, тогда все норм. А если с родителем, то крашится.
Записан
Страниц:
1
[
2
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...