我正在使用Qt创建一个应用程序,遇到了一个问题:我定义了这样一个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有人能解释一下我的错误在哪里吗?
发布于 2013-09-05 19:38:04
这仅仅意味着您必须遵循一定的注意才能访问组件: from docs:
无效QTabWidget::setTabBar ( QTabBar * tb )受保护 用选项卡栏tb替换对话框的QTabBar标题。请注意,必须在添加任何选项卡之前调用该选项卡,否则行为未定义。
我认为您可以简单地子类QTabWidget来访问受保护的成员.
https://stackoverflow.com/questions/18644448
复制相似问题