Цикл For for для большого количества QMenus - PullRequest
0 голосов
/ 05 апреля 2019

будучи нуби с 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.

Я не уверен, стоит ли мне использовать команду добавления или возврата кПодменю, чтобы избежать этой ошибки.

Спасибо

1 Ответ

2 голосов
/ 05 апреля 2019

Вы можете использовать что-то вроде этого:

QVector<QMenu*> menuVector;
for (int i = 0; i < 40; ++i)
{
   auto* menu = new QMenu('some name', MainMenu);
   menuVector.push_back(menu );
   MainMenu->addMenu(menu);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...