我似乎无法在qt创建器中打印几行数据。程序覆盖除最后一行之外的所有输出



我的预期输出:打印指数方程的细菌时间和数量。我正在尝试打印直到时间t的每个数据点,例如,如果我发现直到50小时的生长,我想打印时间0,1,2,...,49,50的细菌数量。我也在尝试将每个输出放在新行上。

所以这是我的代码:

void MainWindow::on_pushButtonCalc_clicked()
{
    QString s;
    double t = ui->t->text().toDouble();
    double k = ui->k->text().toDouble();
    double n0 = ui->n0->text().toDouble();
    /*double example;
    example= k;
    s = s.number(example);
    ui->textOutput->setText(s);*/
    for(int c = 0; c<t; ++c)
    {
        double nt = n0*exp(k*t);
        s = s.number(nt);
        ui->textOutput->setText(s);
    }
}

我已经尝试了许多不同的输出,并且也一直在尝试将新点附加到数组并打印数组,但我也没有太多运气。我对 c++ 有点陌生,对 qt 也很陌生。

感谢您的任何建议。

QTextEdit::setText函数将用您传入的参数替换文本编辑的内容。 相反,您可以使用append函数:

for(int c = 0; c<t; ++c)
{
    double nt = n0*exp(k*t);
    s = QString::number(nt);
    ui->textOutput->append(s);
}

另请注意,由于QString::number是一个静态函数,因此不需要实例来调用它。

或者,您可以在循环中创建字符串,然后使用 setText 将其设置为文本编辑:

for (int c = 0; c<t; ++c)
{
    double nt = n0*exp(k*t);
    s += QString("%1 ").arg(nt);
}
ui->textOutput->setText(s);

相关内容

最新更新