У меня есть приложение, которое использует 20 разных классов. Выполнение программы начинается в главном окне. Я запускаю диалог прогресса. Я буду использовать разные классы для разных целей. После каждого вызова функции, выполнение которого переходит к конкретному классу, и делает это, и возвращается к классу mainwindow, я обновляю диалог выполнения. Теперь проблема заключается в том, что диалог прогресса зависает, когда выполнение уходит из класса mainwindow. Кнопка отмены недоступна, и поэтому выполнение не может быть остановлено в требуемое время.Кнопка отмены диалога диалога QT не подсвечена
MainClass :: MainClass() {
ProgressDialog-> Exec();
x->add();
updateProgressDialog();
y->do();
updateProgressDialog();
zz->bring();
updateProgressDialog();
}
// х, у, г три различных класса.
Так происходит исполнение. Как только я войду в функцию в основном классе, я запустим диалог выполнения. и функции вызова из разных классов. Функции занимают значительное количество времени. Я вызвал поток, чтобы выполнить часть выполнения, но я не могу отменить прогресс диаолога. Я хочу, чтобы выполнение программы было остановлено как и когда кнопка отмены нажата в диалоговом окне proggress.
Пожалуйста, дайте мне знать, как избежать этой проблемы. Надеюсь, здесь я здесь.
Вы упоминаете, что вы вызываете нить, чтобы сделать выполнение части .. это означает, что х> Добавить(), y> do() и zz-bring() передать в поток и немедленно вернуться? –