希望是一个非常快速的问题。在我的一个函数中,我想在运行时为QTabWidget生成一个'x'数量的选项卡('x'由用户提供)。我知道我必须为QTabWidget使用addTab函数(如果我错了就纠正我),但我不确定我应该如何使用它。 qt文档对我来说不清楚。
我已尝试使用以下命令仅添加1个选项卡作为测试,但它导致程序崩溃:
ui->checkBoxTabArea->addTab(ui->checkBoxTabArea,"tab2");
因为我显然是错的,有人可以帮我使用这个功能吗?我觉得我只是将错误的参数传递给addTab。
编辑:checkBoxTabArea在程序启动时已有1个选项卡(如果有任何帮助)。
答案 0 :(得分:5)
如果您查看文档,addTab函数会说:
int QTabWidget :: addTab(QWidget * page,const QString& label)
添加带有给定页面和标签的选项卡到选项卡小部件,和 返回选项卡栏中选项卡的索引。
因此,您传递的参数不应该是要添加标签的TabWidget,而应该是您想要添加作为标签的小部件。< / p>
你应该做的是:
QLabel *myLabel = new QLabel("Hello World", this);
ui->checkBoxTabArea->addTab(myLabel, "My Label Tab");
这会在标签窗口小部件中添加一个标签,其中包含myLabel。