В функции, над которой я сейчас работаю, я создаю многомерный массив флажков с размерами, указанными пользователем во время выполнения. Чтобы представить измерение «z», я создаю несколько вкладок, каждая из которых представляет отдельное измерение, и создаю массив флажков на каждой вкладке. Вкладки помечены как dim1, dim2, dim3, ... и т. Д.
Проблема, с которой я сталкиваюсь, заключается в том, что для создания массива флажков (в пределах 3 циклов for) я должен вызывать вкладки следующим образом:
checkBoxVector.append(new QCheckBox( ui->dim1 ));
Где checkBoxVector содержит указатели на флажки. Теперь моей первой мыслью было, что я просто создам имя переменной, которая будет меняться с каждым циклом. На каждой итерации будет указано: "dim1", затем "dim2", "dim3", ... и т. Д. Проблема в том, что я не могу ссылаться на вкладки с помощью строковой переменной, я должен ввести фактическое имя вкладка. Вот пример этого кода:
int num = k+1;
QString dim = "dim";
QString tab_name = dim.append(QString("%1").arg(num));
checkBoxVector.append(new QCheckBox( ui->tab_name ));
Это дает мне ошибку "У класса Ui :: MainWindow нет члена с именем tab_name".
Поэтому; у меня вопрос: как я могу применить эту идею изменения имени вкладки в каждом цикле, не вызывая такой ошибки?
РЕДАКТИРОВАТЬ: я думаю, что я забыл упомянуть, что вкладки уже были созданы на этом этапе, и уже были помечены именами "dim1", "dim2", "dim3", .... Единственная проблема, с которой я сталкиваюсь, - как ссылаться на эти вкладки после их создания. Я чувствую, что есть простое синтаксическое решение.