如何从 Qt 上的 QTabWidget 获取 currentTabName?

Posted

技术标签:

【中文标题】如何从 Qt 上的 QTabWidget 获取 currentTabName?【英文标题】:How to get currentTabName from QTabWidget on Qt? 【发布时间】:2017-06-30 19:48:50 【问题描述】:

QTabWidget 有一个名为currentTabName 的属性。

如何通过代码访问currentTabName

我需要检查选择了哪个选项卡,但我不能使用选项卡文本 (tabText),因为它是可翻译的并且可能会更改,我不想使用选项卡索引 (currentIndex),因为该指数可能会在未来发生变化。

我使用的是 Qt 5.3

【问题讨论】:

【参考方案1】:

正如 Chris Kawa 回答的here,这是当前小部件的对象名称。

从代码中我可以得到它:

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

注意:正如文档建议的那样,在使用 tabWidget->currentWidget() 时,请务必检查 nullptr

【讨论】:

是的,当我发现他们正在使用设计器时,我才发现这一点。相关的源代码在这里。 github.com/qt/qttools/blob/… 谢谢亚历山大。我在 Qt 论坛上找到了解决方案。我不知道currentTabName 是来自currentWidgetobjectName

以上是关于如何从 Qt 上的 QTabWidget 获取 currentTabName?的主要内容,如果未能解决你的问题,请参考以下文章

扩展 QWidget 上的 Qt/C++ 调用函数

如何从 QTabWidget 获取小部件?

在 Qt 中,如何通过 qss 自定义如下 QTabWidget?

如何从 QTabWIdget C++ 读取 textedit 对象的文本?

Qt,QWidget,QTabWidget,QTabBar:如何将文本移动到图标的底部?

如何关闭所有选项卡但在 Qt4(QTabWidget)中处于活动状态