Как сделать графики через checkbox на QT?

Всем доброго времени суток. Читаются данные из txt файла и передаются в QPointF, в итоге рисуется график. В дальнейшем я буду читать файл с более массивным количеством данных, суммарно должно получиться 8 графиков, + пытаюсь добавить возможность скрывать показывать эти графики через checkbox. Если я нарисую 2 графика к примеру, то он соединит их точки вместе.

  1. как сделать так, чтобы такого не происходило ?
  2. Я знаю что checkbox пускает сигнал каждый раз, когда его состояние меняется, но не очень понимаю, как подключиться к сигналу и что нужно прописать, чтобы например при постановке галочки график был, а при её снятии он исчезал.
  3. как сделать так, чтобы эти 8 графиков располагались один под другим ?

Вот мой код


  QStringList strList;
  QLineSeries *series;
  QValueAxis *axisX;
  QValueAxis *axisY;
  int seed = 0;
  float a, b;

 MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);



     series= new QLineSeries();

   // Тут я создаю полотно для графика и координатную ось

       Chart *chart = new Chart();
       chart->addSeries(series);
       chart->setTitle("Graphic");
       chart->setAnimationOptions(QChart::SeriesAnimations);
       chart->legend()->hide();


       
       axisX = new QValueAxis();
       axisX->setTitleText("x, м");
       axisX-> setRange( 0 , 20);
       axisX->setLabelFormat("%g");
       axisX->setTickCount(40);
       chart->addAxis(axisX, Qt::AlignBottom);
       series->attachAxis(axisX);
       axisY = new QValueAxis();
       axisY-> setRange( -1100 , 1100 );
       axisY->setTitleText("t, мс");
       axisY->setLabelFormat("%g");
       axisY->setTickCount(10);
       chart->addAxis(axisY, Qt::AlignLeft );
       series->attachAxis(axisY);


       ChartView *chartView = new ChartView(chart);
       chartView->setRenderHint(QPainter::Antialiasing);

       ui->horizontalLayout->addWidget(chartView);
}

// кнопка для открытия файла, которая выводит данные сразу на график 
void MainWindow::on_action_triggered()
{


        QFile file;
        QString f = QFileDialog::getOpenFileName(this, QString("Выибрите документ"),QDir::currentPath() ,"*.txt");

        file.setFileName(f);
        if(file.open(QIODevice::ReadOnly | QIODevice::Text))
        {


            while(!file.atEnd() )
            {


                strList <<  file.readLine();
                auto list1 = strList[0].split(" ");

                a = QString(list1[0]).toFloat();
                b = QString(list1[1]).toFloat();
                *series << QPointF(  a, b );
                strList.clear();


            }
   file.close();


        }

}

Ответы (0 шт):