翻译不会传播到选项卡标签

Translation doesn't propagate to tab labels

本文关键字:选项 标签 传播 翻译      更新时间:2023-10-16

我正面临qt的一个奇怪的问题,我已经成功地使用QTranslator添加了对不同语言的支持。它有一个tabwidget与第一个选项卡创建使用qt设计器的形式。问题是每次我试图改变语言一切工作正常,除了标签的标题,我添加了使用

QTabWidget->addTab(QWidget *widget, widget->windowTitle() )

我已经处理了每个小部件内的changeEvent(Event *),并在遇到语言变化时调用ui->retransalteUI(),它更新了除标题外的所有内容。急需帮助。

您需要将windowTitle中的更改传播到选项卡的标签。

例如:

void addTitledTab(QTabWidget * tabWidget, QWidget * widget) {
  int index = tabWidget->addTab(widget, widget->windowTitle());
  QObject::connect(widget, &QWidget::windowTitleChanged, 
    [index, tabWidget](const QString & text){
    tabWidget->setTabText(index, text);
  });
}