如何在Qt中从QTabWidget获取当前选项卡的名称?

3

QTabWidget有一个名为currentTabName的属性。

enter image description here

我该如何通过代码访问currentTabName

我需要检查哪个选项卡被选中,但我不能使用选项卡文本(tabText),因为它是可翻译的,可能会改变;也不能使用选项卡索引(currentIndex),因为索引在未来可能会改变。

我正在使用Qt 5.3。

1个回答

3

正如Chris Kawa在这里所回答的那样,这是当前小部件的对象名称。

从代码中我可以像这样获取它:

QString currentTabName = tabWidget->currentWidget()->objectName();

注意: 如文档所建议,在使用tabWidget->currentWidget()时,请确保检查nullptr


1
是的,当我发现他们在使用设计师时,我才发现这一点。相关的源代码在这里。 https://github.com/qt/qttools/blob/13946e382e7ab9418b4fe69a0b87a65d74c31bf4/src/designer/src/lib/shared/qdesigner_tabwidget.cpp#L443 - Alex Huszagh
1
谢谢Alexander。我在Qt论坛上找到了解决方案。我不知道currentTabName是从currentWidgetobjectName中获取的。 - KelvinS

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接