如何在 Qt 中访问父选项卡的属性?

Posted

技术标签:

【中文标题】如何在 Qt 中访问父选项卡的属性?【英文标题】:How to access properties of parent tab in Qt? 【发布时间】:2013-12-11 08:46:42 【问题描述】:

好的。所以,我有一个表单,其中有 Qt 的 Tab Widget。而且,我有一个自定义小部件,其中有 Qt 的 Webkit。

现在,我想在网站更改时更改自定义小部件的父选项卡中的文本。 我已经获得了 webkit 的 titleChanged 信号的功能,但我不确定如何访问其父选项卡以更改该选项卡的文本。

我想访问自定义小部件的父标签,而不是标签小部件中的当前标签。这样,即使未选中,选项卡的文本也会发生变化。

我不知道如何做到这一点,这就是为什么我不能发布任何代码。空的 titleChanged 信号代码对我不可用,所以我也不能发布。

谢谢。

【问题讨论】:

【参考方案1】:

由于您要修改自定义小部件的父级,因此在调用自定义小部件构造函数时将其父级作为参数传递并连接信号:

CustomWidget(QWidget * parent) : CustomWidgetBaseClass(parent)

    connect(this->webkit, SIGNAL(titleChanged(const QString &)), parent, SLOT(setWindowTitle(const QString &));

这也保证了您的 CustomWidget 在 CustomWidgetBaseClass 被破坏时被释放。

如果您稍后必须在构造时连接它,您始终可以使用parentWidget() const 方法获取父级并稍后连接它,但始终将父级设置为构造,这就是 Qt 的用途

希望有帮助!

【讨论】:

以上是关于如何在 Qt 中访问父选项卡的属性?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 width: auto 使选项卡的宽度随文本内部的变化而变化在 Qt5 中的 QTabBar::tab 中?

如何在 Qt 中动态添加选项卡?

JQuery选项卡 - 嵌套选项卡的问题 - 在初始加载时激活子选项卡

访问 QTabWidget 中选项卡的小部件

如何减少uitabbarcontroller中选项卡的点击访问长度?

vs2022怎么插入选项卡设置选项卡个数