0

我是使用 QT 的新手,对 C++ 比较陌生。我有一个称为驱动器的向量,它包含计算机的所有驱动器号。我有一个名为 noDrives 的 int,即 drive.size(); 我在 QT Designer 9 进度条中设置了我的表单,我将使用它设置为不可见

   ui.driveLabel1->setVisible(false); 

我忘记了如何在 for 循环中将条形设置为可见。例如 int drive = 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。

4

1 回答 1

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);
于 2012-10-09T04:38:26.067 回答