2012-10-06 46 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