也许这是一个愚蠢的问题,但我是新来的C + +和Qt。抱歉给您带来不便。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设计师一样吗?
在此先感谢!
编辑:
最后,我决定做直接分配:
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的基本知识对我来说确实很好。
非常感谢您的回答!这是一个伟大的人民伟大的网站。
阿诺德:谢谢您的回答!但是鉴于我基本的Qt知识,我终于做了直接任务。除此之外,我需要做的不仅仅是隐藏。无论如何,我真的很感谢你的帮助。 – Fracu 2012-02-24 01:40:23
我认为隐藏并不是你唯一的目标:)你可以把自己的答案和接受它。这样可以避免搜索结果中未解决的问题。 – 2012-02-24 01:44:04
我刚刚尝试过,但是因为我不到100的声望,所以我必须再等三个小时才能做到这一点。再次感谢你! – Fracu 2012-02-24 01:57:04