qtr =new QTranslator;// .h中的变量 这里初始化分配内存
ui->comboBox->setEditable(true);// 不使能无法设置 且程序会异常结束
ui->comboBox->lineEdit()->setAlignment(Qt::AlignCenter);// 居中
ui->comboBox->lineEdit()->setReadOnly(true);// 只读 不可编辑
ui->comboBox->addItem(tr("I am a comboBox"));// combobox文本
ui->lineEdit->setText(tr("I am a lineEdit"));// lineEdit文本// 下拉框 第一行居中static_cast<QStandardItemModel*>(ui->comboBox->view()->model())->item(0,0)->setTextAlignment(Qt::AlignCenter);
2.2 两个按钮点击事件
voidMainWindow::on_pushButton_clicked(){if(this->qtr->load(qApp->applicationDirPath()+"/qt_cn.qm")){
qApp->installTranslator(qtr);
ui->retranslateUi(this);qDebug()<<QStringLiteral("切换中文");// 加载完翻译文件后 这里需要重新赋值 刷新文本信息
ui->lineEdit->setText(tr("I am a lineEdit"));
ui->comboBox->removeItem(ui->comboBox->currentIndex());
ui->comboBox->addItem(tr("I am a comboBox"));}}voidMainWindow::on_pushButton_2_clicked(){if(this->qtr->load(qApp->applicationDirPath()+"/qt_en.qm")){
qApp->installTranslator(qtr);
ui->retranslateUi(this);qDebug()<<QStringLiteral("切换英文");// 加载完翻译文件后 这里需要重新赋值 刷新文本信息
ui->lineEdit->setText(tr("I am a lineEdit"));
ui->comboBox->removeItem(ui->comboBox->currentIndex());
ui->comboBox->addItem(tr("I am a comboBox"));}}