【问题标题】:Translation doesn't propagate to tab labels翻译不会传播到标签标签
【发布时间】:2015-07-24 23:12:40
【问题描述】:

我在使用 qt 时遇到了一个奇怪的问题,我使用 QTranslator 成功添加了对不同语言的支持。它有一个带有使用 qt 设计器表单创建的第一个选项卡的选项卡小部件。问题是每次我尝试更改语言时一切正常,除了我使用

添加的标签标题

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

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

【问题讨论】:

  • 可能自动创建的函数retranslateUI();没有更新标题

标签: c++ qt


【解决方案1】:

您需要将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);
  });
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-11-11
    • 1970-01-01
    • 2014-07-05
    • 2016-11-05
    • 2017-10-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多