Я использую CAMA-серии (модуль печати пальцев) для моего приложения. В этом документе было сказано, что рекомендуется использовать команду EnrollStandByMode
перед выходом из приложения. Я создаю эту команду и вызываю ее в своем деструкторе в QMainWindow в своем приложении. (здесь нет проблем). Но когда я выхожу из приложения и снова запускаю его, мой отпечаток пальца запутан и команды ответа неверны. После отслеживания моего кода я увидел, что деструктор не запускается, когда приложение закрывается кнопкой закрытия.Как автоматически вызывать деструктор в qt, когда я хочу выйти из приложения?
Это мой код для выхода из qapp.
void MainWindow::on_pushButton_clicked()
{
qDebug()«"QApplication::quit()";
QApplication::quit();
}
Я хочу знать, как вызвать деструктор перед выходом из приложения?
Не уверен, что это сработает, а не ответ, но как насчет класса, единственной целью которого является вызов EnrollStandByMode в деструкторе, а затем глобальная переменная этого класса? Библиотека времени выполнения C++ должна вызывать деструкторы всех глобальных переменных (но будьте осторожны, что некоторые другие глобальные переменные уже могут быть разрушены, поэтому будьте осторожны). –
Вы имеете в виду, что сначала я создаю класс, который просто вызывает этот метод, тогда я делаю глобальную переменную, чтобы называть его? Так как это может мне помочь? не могли бы вы это объяснить? tnx заранее –
@ H.Ghassami Я только что видел, что вы явно вызываете 'QApplication :: quit();'. Почему бы вам просто не закрыть окно внутри 'on_pushButton_clicked'. Заявка будет завершена в обоих случаях. – skypjack