本文介绍了QTabBar的选项卡的内部QWidgets?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

作为:

我可以直接访问 QTabBar 。我表示在我选择标签时显示的相应窗口小部件,而是标签的窗口小部件(因此在日志标签和日志图标下方的屏幕截图中)。

Can I directly access the widgets within the tabs of the QTabBar. I do not mean the corresponding widget which is shown when I select a tab, but the tab's widgets (so in the screenshot below the log label and log icon).

我有尝试了 QTabBar :: findChildren ,但没有成功。任何想法?

I have tried QTabBar::findChildren, but with no success. Any idea?

推荐答案

QTabBar 标题部分实际上不是小部件。它们由 QStylePainter QTabBar :: paintEvent 中绘制。因此,您无法访问它们。
作为解决方法,您可以添加一个带有空文本的选项卡,并为其设置一个自定义窗口小部件:

QTabBar header sections are not actually widgets. They are drawn by QStylePainter inside QTabBar::paintEvent. Thus you can't get access to them.As a workaround you can add a tab with an empty text and set a custom widget to it:

QTabBar *bar = new QTabBar;
bar->addTab("");

QLabel *label = new QLabel("my label");
bar->setTabButton(0, QTabBar::LeftSide, label);

这篇关于QTabBar的选项卡的内部QWidgets?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

05-17 00:51