【问题标题】:Remove Previous Line From Console QT5从控制台 QT5 中删除上一行
【发布时间】:2013-05-19 16:00:02
【问题描述】:

在运行控制台应用程序时,Qt5 中有什么方法可以从控制台中删除前一行?

喜欢在同一行打印一个从 1 到 100 的百分比并相互覆盖?

【问题讨论】:

  • \r(回车)会让你回到行首。你用什么打印到控制台?
  • \r 不起作用。我曾尝试使用 qDebug() 和 cout 但都没有奏效。我也想不出一种使用 printf 的方法。有什么建议吗?
  • 是的,qDebug() 的问题在于它在末尾附加了一个新行。您可以像这样使用 fprintf:fprintf(stderr, QString("Text to print").toAscii().data());

标签: qt qt5


【解决方案1】:

尝试使用它来显示您的完成百分比:

int percent = 1;
fprintf(stderr, QString("\rPercentage completed: %1").arg(percent).toLatin1().data());

编辑:toAscii() 已在 Qt5 中删除,因此我按照建议将其替换为 toLatin1()。

【讨论】:

  • Qt5+ 中的唯一建议 toAscii() 已被删除。必须改用 toLatin1() 。否则完美运行。
猜你喜欢
  • 1970-01-01
  • 2020-09-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-03
  • 1970-01-01
  • 2011-10-19
相关资源
最近更新 更多