基于数量的QMenu的基于循环

时间:2019-04-05 10:46:58

标签: c++ qt c++11 visual-c++

成为Qt的新手,我不知道该如何创建 QMenu的向量。

使用C++,我有以下想法(简单):

std::vector<QMenu> *subMenus;

,然后使用for-loop创建一定数量的菜单。

for (int i = 0; i < List.size(); ++i)
{
   subMenus[i] = new QMenu('some name',MainMenu);
   MainMenu->addMenu(subMenus[i]);
}

其中List的大小较大(〜40)。 问题在于这样做时,我遇到以下错误消息,该错误消息引用了索引i

expression must have a constant value

我不确定是否应该使用append或推回subMenu来避免此错误。

谢谢

1 个答案:

答案 0 :(得分:2)

您可以使用以下内容:

QVector<QMenu*> menuVector;
for (int i = 0; i < 40; ++i)
{
   auto* menu = new QMenu('some name', MainMenu);
   menuVector.push_back(menu );
   MainMenu->addMenu(menu);
}