Привет у меня есть вопрос, касающийся сообщений об ошибках.
У меня есть окно с несколькими кнопками, включая кнопку ОК и кнопку Отмена. Моя кнопка OK запускает программу, которая перемещает некоторые серии графиков, и для этого ей нужно прочитать много данных из файла и сместить эти значения. Кнопка Отмена отменяет эту операцию. Расчеты не могут быть разделены на меньшие части кода.
Это хорошо работает для меньшего количества данных, но когда я использую его с большими наборами данных, программа действует так, как будто оно сломалось. Тем не менее, через некоторое время все возвращается в норму, расчет сделан.
Есть 2 вещи, которые мне не нравятся:
1) Когда я оставляю программу одну, программа меняет заголовок моего окна на ….(Кейн Рюкмелдунг) что означает отсутствие ответа.
После окончания расчета текст …(Кейн Рюкмелдунг) исчезает в шапке и все возвращается на круги своя.
2) Когда я пытаюсь нажать кнопку «Отмена» в моем окне во время выполнения расчета, появляется дополнительное окно:
Там снова, когда я оставляю программу в покое и вычисление закончено, это окно исчезает (как и (keine Rückmeldung) в заголовке моего окна), и все возвращается на круги своя.
Для решения проблемы 2 я попытался отключить кнопку «Отмена», но это не помогло. Слот, находящийся без кнопки отмены, исполняется в любом случае.
Мой вопрос сейчас: так как я не хочу, чтобы пользователь видел эти сообщения об ошибках, есть ли способ, чтобы программа не показывала их?
Спасибо
Рассмотрите возможность использования QThread для дорогих вычислительных задач. Или лучше, вы можете использовать другие встроенные многопоточные утилиты, такие как QConcurrentRun а также QFuture.
Затем вы можете легко узнать состояние фоновой функции и показать окно загрузки или позволить пользователю выполнять другие операции в это время.
Других решений пока нет …