希望这是一个快速的问题。在我的一项功能中,我想在运行时为QTabWidget生成数量为“ x”的标签(用户提供的“ x”)。我知道我必须对QTabWidget使用addTab函数(如果我输入错了,请更正我),但是我不确定应该如何使用它。我不清楚qt文档。

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

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


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

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

最佳答案

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


  int QTabWidget :: addTab(QWidget *页面,const QString&label)
  
  将具有给定页面和标签的标签添加到标签小部件,然后
  返回选项卡栏中选项卡的索引。


因此,您传递的参数不应是要将标签添加到的TabWidget,而应是要添加为标签的小部件。

您应该执行的操作类似于:

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


这会将一个标签添加到包含myLabel的标签小部件中。

10-07 20:54