c++ - 我似乎无法在 qt creator 中打印几行数据。程序覆盖除最后一行以外的所有输出

标签 c++ qt output

我的预期输出:打印指数方程的时间和细菌数量。我正在尝试打印直到时间 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);

关于c++ - 我似乎无法在 qt creator 中打印几行数据。程序覆盖除最后一行以外的所有输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27348562/

相关文章:

c++ - QML/real 和 C++/float 之间的 Qt 类型错误

c++ - 由于槽和信号的错误使用导致程序崩溃

java 从 exec 命令输出中删除第一行

c++ - 如何为大量 header 生成 .pch?

C++ 使用指针合并文本

c++ - 在内联匿名命名空间中声明的全局命名空间中定义模板函数时 undefined reference

c++ - 插入小部件的 QGridLayout 问题

c++ - 如何使二叉树的递归插入更有效(高效)?

c - 命令行中消息的漂亮输入输出(在 C 中)

swift - 标签如何在多行中显示字符串