0

希望是一个非常快速的问题。在我的一个函数中,我想在运行时为 QTabWidget 生成“x”个选项卡(“x”由用户提供)。我知道我必须为 QTabWidget 使用 addTab 函数(如果我错了,请纠正我),但我不确定我应该如何使用它。我不清楚 qt 文档。

我尝试使用以下命令仅添加 1 个选项卡作为测试,但它导致程序崩溃:

ui->checkBoxTabArea->addTab(ui->checkBoxTabArea,"tab2");

既然我显然错了,有人可以帮我使用这个功能吗?我觉得我只是将错误的参数传递给 addTab。

编辑:程序启动时 checkBoxTabArea 已经有 1 个选项卡(如果有帮助的话)。

4

1 回答 1

5

如果您查看文档, addTab 函数会这样说:

int QTabWidget::addTab ( QWidget * page, const QString & label )

将具有给定页面和标签的选项卡添加到选项卡小部件,并返回选项卡在选项卡栏中的索引。

因此,您传递的参数不应该是您想要添加选项卡的 TabWidget,而应该是您想要添加为选项卡的小部件。

你应该做的是:

QLabel *myLabel = new QLabel("Hello World", this);
ui->checkBoxTabArea->addTab(myLabel, "My Label Tab");

这会将单个选项卡添加到包含 myLabel 的选项卡小部件。

于 2011-07-14T20:35:23.223 回答