Trouble with passing a value from lineedit to a Graph

  • Hi All,

    I am new to Qt and started exploring some of its features. I am stuck in a problem. In the form.ui I have a lineedit, a push button and a widget (promoted to QCustomPlot). My requirement is when a value is entered in lineedit and after push button is pressed, it should create a line on the graph. My code is -

    void Form:n_refForceValueButton_clicked()
    float ref_force_value = ui->lineEdit->text().toFloat(); // to read the value entered in line edit in form.ui
    // to take the value of lineedit and pass on to y co-ordinate of graph to have a straight line
    QCPItemLine *lineX = new QCPItemLine(ui->customPlotX);
    QCPItemLine *lineY = new QCPItemLine(ui->customPlotY);
    QCPItemLine *lineZ = new QCPItemLine(ui->customPlotZ);
    QCPItemLine *line = new QCPItemLine(ui->customPlot);
    if (ref_force_value>0)
    QString msg = "Reference Force Value is set to " + QString::number(ref_force_value) + "mN."; // to combine     string and float
    QMessageBox::information(this, "Reference Force Value", msg); // to pop-up window displaying message when button is clicked

    As you can see from the code I have 4 widgets (all promoted to QCustomPlot). When I enter the value in lineedit and click the button it works well with pop-up window and it displays the message but it doesn't pass the value entered in lineedit on to the graph. Can anyone please guide me on my code. I am using Qt5.8 on Windows 10 with MinGW compiler.

    Thank you for your time and knowledge.

  • Lifetime Qt Champion

    Hi and welcome
    Just as a note: QCustomPlot is not part of Qt :)

    I have used it however and its unclear if you have all the other needed code in place

    If you see here

    There is
    // create graph and assign data to it:
    customPlot->graph(0)->setData(x, y)

    which is critical and so on :)

  • Hi mrjj,

    Thank you for the reply. Yes, I have all the essentials of QCustomPlot.

    I figured out the solution. I didn't set the linestyle and scatterstyle therefore I was not able to see the plot as it was by default in white color. Once those parameters are set I can see the plot now and it works as expected.

Log in to reply