8

我做了一个函数,它返回一个QString. 在我的函数中的某些时候,它应该返回一个空的QString.

只是返回""是行不通的。我用QString::isEmpty()的时候不是。我的“应急计划”是返回一个“空”字符串并用它检查文本是否为“空”。但我不认为这是好的风格。

那么我如何返回一个空的QString

4

2 回答 2

15

创建空 QString 的惯用方法是使用其默认构造函数,即QString(). QString()创建一个字符串,isEmpty()并为其isNull()返回true

使用文字创建的 QString""为空(isEmpty()returns true)但不为空(isNull()returns false)。

两者的size()/length()均为 0。

于 2013-05-04T17:49:40.413 回答
0

根据 QString 文档,返回 "" 应该可以;应该返回 QString()。

尝试打印出您正在测试的字符串以确保它确实为空:

printf("xxx [%s]\n", myStr.toUtf8().constData());
于 2013-05-04T17:37:14.073 回答