As a follow up of " Hide label text for Qt tabs without setting text to empty string " :
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).
I have tried QTabBar::findChildren
, but with no success. Any idea?
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);
来源:https://stackoverflow.com/questions/24897261/internal-qwidgets-of-qtabbars-tab