241-327_Deev_ASD/lab-3/main.cpp

36 lines
1.1 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#include "mainwindow.h"
#include <QApplication>
#include <QLocale>
#include <QTranslator>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QTranslator translator;
const QStringList uiLanguages = QLocale::system().uiLanguages();
for (const QString &locale : uiLanguages) {
const QString baseName = "lab-3_" + QLocale(locale).name();
if (translator.load(":/i18n/" + baseName)) {
a.installTranslator(&translator);
break;
}
}
int result = 0;
{
/*
* MainWindow создаётся внутри блока scope, чтобы его деструктор
* выполнился ДО выхода из main() и до уничтожения QApplication.
* Это предотвращает краш при закрытии, вызванный тем, что
* статический Singleton (ApiClient) пытается обратиться к уже
* разрушенным Qt-объектам.
*/
MainWindow w;
w.show();
result = a.exec();
}
return result;
}