Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 翻译不需要';t传播到选项卡标签_C++_Qt - Fatal编程技术网

C++ 翻译不需要';t传播到选项卡标签

C++ 翻译不需要';t传播到选项卡标签,c++,qt,C++,Qt,我在使用qt时遇到了一个奇怪的问题,我已经成功地使用QTranslator添加了对不同语言的支持。它有一个tabwidget,第一个tab是使用qt设计器表单创建的。问题是,每次我尝试更改语言时,除了我使用添加的标签的标题外,一切都正常 QTabWidget->addTab(QWidget*widget,widget->windowTitle()) 我已经在每个小部件中处理了changevent(Event*),并在遇到任何语言更改时调用ui->retransalteUI()。我急需帮助 您需要

我在使用qt时遇到了一个奇怪的问题,我已经成功地使用QTranslator添加了对不同语言的支持。它有一个tabwidget,第一个tab是使用qt设计器表单创建的。问题是,每次我尝试更改语言时,除了我使用添加的标签的标题外,一切都正常

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


我已经在每个小部件中处理了
changevent(Event*)
,并在遇到任何语言更改时调用
ui->retransalteUI()。我急需帮助

您需要将
窗口标题中的更改传播到选项卡的标签

例如:

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);
  });
}

自动创建的函数
retranslateUI()中可能没有更新标题在发生语言更新事件时,使用
widget->setTitle(tr(“您的标题字符串”))再次尝试设置标题