如何将数组转换为 QString?

Posted

技术标签:

【中文标题】如何将数组转换为 QString?【英文标题】:How to convert array to 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中的其他小部件显示它。 【参考方案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 文档,最重要的是,通过练习来学习!

以上是关于如何将数组转换为 QString?的主要内容,如果未能解决你的问题,请参考以下文章

在QT中如何将double转换为Qstring

如何将 ATL/MFC CString 转换为 QString?

如何将char类型数组转换为unicode字符串

大虾我还想请问您一下qstring 如何转化为char数组而不是char指针(char*)

如何将QString转换为char *或者相反

如何在 Qt 中将 QVariant 转换为 QString,反之亦然?