возможно, это глупый вопрос, но я новичок в 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, я в порядке.
Большое спасибо за ваши ответы!Это отличный сайт с замечательными людьми.