36 lines
1.1 KiB
C++
36 lines
1.1 KiB
C++
#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;
|
||
}
|