也許這是一個愚蠢的問題,但我是新來的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