#include #include #include "mainwindow.h" #include "./ui_mainwindow.h" MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow), m_instructorsAndTraineesWidget(nullptr) { ui->setupUi(this); //Задаём два пункта с текстом локалей в комбобоксе ui->cmbLanguage->addItems(QStringList() << "English" << "Русский"); m_instructorsAndTraineesWidget = new InstructorsAndTraineesWidget(this); connect(this, &MainWindow::signal_LanguageChanged, m_instructorsAndTraineesWidget, &InstructorsAndTraineesWidget::slot_LanguageChanged); ui->horizontalLayout->addWidget(m_instructorsAndTraineesWidget); this->move(0, 0); //this->showNormal(); this->showMaximized(); } MainWindow::~MainWindow() { delete m_instructorsAndTraineesWidget; delete ui; } void MainWindow::changeEvent(QEvent *event) { // В случае получения события изменения языка приложения if (event->type() == QEvent::LanguageChange) {// переведём окно заново ui->retranslateUi(this); } } void MainWindow::on_cmbLanguage_currentIndexChanged(const QString &arg1) { QString language; if(arg1 == QStringLiteral("English")) language = QString("en_EN"); else language = QString("ru_RU"); qtLanguageTranslator.load(QString("translations/testDBpgSQL_") + language, "."); qApp->installTranslator(&qtLanguageTranslator); emit signal_LanguageChanged(language); }