使用其他类型,我可以轻松地执行类似的操作

mitm.created().toString("yyyy-MM-dd")

有类似的功能可以将qint64转换为QString吗?您可以在下面找到代码。
    fileArray.append("[");
    foreach(QFileInfo mitm, mDir.entryInfoList(QDir::Files)){
        fileArray.append("{\"filePath\": \"");
        fileArray.append(mitm.absoluteFilePath());
        fileArray.append("\",");
        fileArray.append("\"fileCreated\": \"");
        fileArray.append(mitm.created().toString("yyyy-MM-dd"));
        fileArray.append("',");
        fileArray.append("'fileSize': '");
//      fileArray.append(mitm.size());
        fileArray.append("\"}");
        if(fileCount!=mDir.entryInfoList(QDir::Files).count()-1){ fileArray.append(","); }
        fileCount++;
    }
    fileArray.append("]");

我已经注释掉了破坏代码的行。我在日期上遇到了同样的问题,但使用toString进行了转换。我希望qint64会有类似的解决方案。

最佳答案

您将需要为此编写以下代码:

fileArray.append("[");
foreach(QFileInfo mitm, mDir.entryInfoList(QDir::Files)){
    fileArray.append("{\"filePath\": \"");
    fileArray.append(mitm.absoluteFilePath());
    fileArray.append("\",");
    fileArray.append("\"fileCreated\": \"");
    fileArray.append(mitm.created().toString("yyyy-MM-dd"));
    fileArray.append("',");
    fileArray.append("'fileSize': '");
    fileArray.append(QString::number(mitm.size()));
    fileArray.append("\"}");
    if(fileCount!=mDir.entryInfoList(QDir::Files).count()-1){ fileArray.append(","); }
    fileCount++;
}
fileArray.append("]");

有关详细信息,请参见QString::number(...)静态方法的文档(从here开始)。您将需要匹配qint64的变体,它是qlonglong替代。

关于c++ - 将qint64转换为QString,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18992654/

10-13 08:24