2012-10-06 51 views
0

我是使用QT和相對較新的C++的新手。我有一個稱爲驅動器的矢量,它包含計算機的所有驅動器號。我有一個叫做noDrives的int,它是drives.size();我在我的形式在Qt Designer中9進度條,我都將設置爲不可見使用QT GUI進度條

ui.driveLabel1->setVisible(false); 

我已經忘記了我如何將着手在for循環條設置爲可見的設置。例如int drives = 4,所以我需要將progressBar0-4轉爲可見。這是我到目前爲止。

std::vector<std::string> drives = DriveFinder(); 
    int noDrives = drives.size(); 
    for (int i = 0 ; i < noDrives ; i++){ 
    ui.driveBar1->setVisible(false); 
    } 

每次圍繞循環我需要打開下一個driveBar。

回答

1

如果我理解正確你的問題:

switch(i) 
{ 
case 1: ui.driveBar1->setVisible(false); break; 
case 2: ui.driveBar2->setVisible(false); break; 
case 3: ui.driveBar3->setVisible(false); break; 
... 
} 

或者

std::vector<QProgressBar*> Bars (10); 
Bars[0] = ui.driveBar1; 
Bars[1] = ui.driveBar2; 
... 

則...

Bars[i]->setVisible(false); 
+0

很抱歉的愚蠢的描述和嚴重的措辭問題! – Charlie