如何访问QTabBar的QTabWidget?
我找到的唯一解决方案是继承QTabWidget
并将受保护的QTabWidget::getTabBar()
覆盖为公开。还有其他方法吗?
答案 0 :(得分:6)
tabBar->findChild<QTabBar *>(QLatin1String("qt_tabwidget_tabbar"));
答案 1 :(得分:4)
正如您所提到的,子类化是正确的解决方案,因为它受到保护。像这样:
class TabWidget : public QTabWidget {
public:
TabWidget(QWidget *p = 0) : QTabWidget(p){}
public:
QTabBar *tabBar() const { return QTabWidget::tabBar(); }
};
您可以告诉设计师将您的QTabWiget“推广”到TabWidget,然后您将拥有一个可访问的tabBar()
功能。
答案 2 :(得分:1)
您想对标签栏做什么?
可能无济于事,但使用stylesheets,您可以自定义QTabWidget子控件:: tab和:: tab-bar。