我正在使用Qt Framework制作应用程序,但遇到了一个问题: 我定义了像这样的TabWidget
QTabWidget *armaTab = new QTabWidget();
armaTab->setContentsMargins(0, 0, 0, 0);
armaTab->setTabPosition(QTabWidget::North);
armaTab->setObjectName(QString::fromUtf8("armaTab"));
然后我尝试添加一个像这样的QTabBar:
QTabBar *tabBar = new QTabBar();
tabBar->setContentsMargins(0, 0, 0, 0);
tabBar->setFont(*font);
tabBar->setObjectName(QString::fromUtf8("armaTabBar"));
armaTab->setTabBar(tabBar);
我收到了这个错误:
error: 'void QTabWidget::setTabBar(QTabBar*)' is protected
error: within this context
有人可以解释我的错误所在吗?
答案 0 :(得分:1)
这只是意味着您必须注意访问该组件:来自docs:
void QTabWidget :: setTabBar(QTabBar * tb)[protected]
用标签栏tb替换对话框的QTabBar标题。请注意,必须在添加任何选项卡之前调用此方法,否则行为未定义。
我认为您可以简单地将QTabWidget子类化以访问受保护的成员...