#c #qt #c 11 #visual-c
#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]);
}
Где размер списка равен большому числу (~ 40).
Проблема в том, что при выполнении этого я сталкиваюсь со следующим сообщением об ошибке, ссылающимся на индекс i
:
expression must have a constant value
.
Я не уверен, следует ли мне использовать append или push back to subMenus, чтобы избежать этой ошибки.
Спасибо
Комментарии:
1. Вы, вероятно, были после
std::vector<QMenu*> subMenus;
. 🙂
Ответ №1:
Вы можете использовать что-то вроде этого:
QVector<QMenu*> menuVector;
for (int i = 0; i < 40; i)
{
auto* menu = new QMenu('some name', MainMenu);
menuVector.push_back(menu );
MainMenu->addMenu(menu);
}