Qt Designer: Создать массив виджетов

может быть, это глупый вопрос, но я новичок в C ++ и Qt. Приносим извинения за неудобства.

В Qt Designer я создаю несколько меток (например):

my_label1
my_label2
my_label3
...
my_label n

Затем, если я хочу скрыть их, я делаю следующее:

ui->my_label1->hide();
ui->my_label2->hide();
ui->my_label3->hide();
...
ui->my_labeln->hide();

Однако я бы хотел определить метки вроде

my_label[n]

Итак, я бы уметь сделать это:

for(i=0;i<n;i++)
    {
    ui->my_label[n]->hide();
    }

Я читал, что могу определить виджет, например:

QLabel* my_label[5];

, но есть ли способ сделать то же самое в Qt Designer?

Заранее спасибо!

Редактировать:

Наконец, я решил выполнить прямое назначение:

QLabel* my_label_array[5];
my_label_array[0] = ui->my_label1;
my_label_array[1] = ui->my_label2;
my_label_array[2] = ui->my_label3;
my_label_array[3] = ui->my_label4;
my_label_array[4] = ui->my_label5;

Тогда я могу, например:

for(idx=0;idx<6;idx++) my_label_array[idx]->show();
for(idx=0;idx<6;idx++) my_label_array[idx]->hide();
for(idx=0;idx<6;idx++) my_label_array[idx]->setEnabled(1);
for(idx=0;idx<6;idx++) my_label_array[idx]->setDisabled(1);
etc...

Затем я смог выполнить итерации. Я считаю, что это не самый чистый способ сделать это, но, учитывая мои базовые знания Qt, мне подходит.

Большое спасибо за ответы! Это отличный сайт с замечательными людьми.

7
задан Fracu 24 February 2012 в 01:37
поделиться