【问题标题】:How to convert array to QString?如何将数组转换为 QString?
【发布时间】:2015-05-06 16:31:18
【问题描述】:

我使用 QString::number() 将 float[4] 转换为 QString,但我看到一个错误:

call of overloaded 'number(float [4])' is ambiguous

【问题讨论】:

  • 只能将单个值转换为字符串,不能转换为数组。
  • 好的(那我应该问 - 如何通过 textEdit 显示 float[4] ?
  • 您需要提供更多信息。 如何您希望这些花车以文本形式显示?你需要什么样的浮点精度?
  • 其实我对显示形式或精度并不感兴趣,我只是想通过QTextEdit或Qt cteator中的其他小部件显示它。

标签: c++ qt qt5


【解决方案1】:

QString::number 有各种重载:

QString number(long n, int base = 10)
QString number(double n, char format = 'g', int precision = 6)
QString number(ulong n, int base = 10)
QString number(int n, int base = 10)
QString number(uint n, int base = 10)
QString number(qlonglong n, int base = 10)
QString number(qulonglong n, int base = 10)

您的编译器正在尝试将数组转换为指针并将指针转换为整数。由于它可以将指针转换为多个存在重载的整数类型,因此它无法决定使用哪个重载。

您的意思是在对QString::number 的调用中使用数组还是仅使用数组的元素之一?

【讨论】:

  • 我使用数组,而不是这个数组的单个元素
  • 这就是问题所在。没有可以使用数组的QString::number 重载。要将整个数组转换为QString,您必须转换数组的每个元素,决定使用什么分隔符来组合它们,并在循环中组合生成的字符串。
  • 是的,我明白了。我可以通过 textEdit 以某种方式显示浮动?
  • 嗯。 QTextEdit — 是 QT Creator 中图形界面的视觉元素。
  • 就像 R Sahu 所说,迭代浮点数数组并使用 QString::number() 将每个浮点数转换为 QString。使用您选择的分隔符连接转换后的字符串。使用 QTextEdit::setPlainText() 将 QTextEdits 内容设置为结果字符串。如果你不清楚之后该怎么做,我认为你只需要多学习一些 C++,阅读 Qt 文档,最重要的是,通过练习来学习!
猜你喜欢
  • 2012-12-19
  • 1970-01-01
  • 1970-01-01
  • 2021-11-17
  • 2020-04-20
  • 2013-05-14
  • 2012-11-04
  • 2011-03-13
  • 2017-08-31
相关资源
最近更新 更多