将旋转框添加到选项卡小部件?

时间:2016-01-28 02:53:42

标签: qt

我正在尝试动态添加spinbox,但我需要它们在我在设计器中创建的不同选项卡上。我可以将它们添加到选项卡而不是主窗口吗?

QSpinBox *spin[10]; for (int i=0; i < 10; i++) { spin[i] = new QSpinBox(this); spin[i]->setValue(i); spin[i]->setGeometry(QRect(QPoint(100,100),QSize(50,50))); //todo: change position spin[i]->show(); }

1 个答案:

答案 0 :(得分:2)

创建this时,请使用该标签作为父级。

在您的示例中,您使用的是QTabWidget,我将假设它是您在设计师中设计的小部件。

例如,如果您在设计器中有一个空小部件并将QTabWidget拖到其上,则会创建一个名为tabWidget的{​​{1}}。默认情况下,它有两个名为QWidgettab的标签(tab_2 s)。此外,默认情况下,设计人员在您的类中创建一个名为ui的成员变量,该变量代表您的小部件。

因此,要在选项卡中添加QSpinBox,请在代码中执行以下操作:

QSpinBox* spinBox = new QSpinBox(ui->tab);

这已将旋转框的父级设置为ui->tab而不是this