如何发送QString来调试输出?

use*_*404 6 c++ user-interface qt qdebug qt5

我无法使用QDebug在Qt中打印出QString.

以下是一些尝试(无效):

    QDebug(letters.toStdString());
    QDebug(letters.toLatin1());
    QDebug() << letters.toUtf8();
    QDebug() << letters.toWCharArray();
    QDebug() << letters.toStdString();
    QDebug() << letters;
Run Code Online (Sandbox Code Playgroud)

我包括:

#include <QtDebug>
#include <QDebug>
Run Code Online (Sandbox Code Playgroud)

我使用的是Qt 5.2.我还添加CONFIG += console到了我的项目文件中

我的错误是"没有用于调用QDebug :: QDebug()的匹配函数"

我也得到了"QDebug(QByteArray)含糊不清" QDebug(letters.toLatin1());

Sir*_*ius 13

这样做的正确方法是:

#include <QDebug>

// snip...

QString letters;

qDebug() << letters;
Run Code Online (Sandbox Code Playgroud)

小心使用qDebug()小写字母开头,因为它与QDebug班级不同.

请参阅http://qt-project.org/doc/qt-5.0/qtcore/qtglobal.html#qDebug.它是一个便捷函数,它返回已配置的QDebug对象.

  • @ user929404它是`qDebug`而不是`QDebug`.读.不要猜. (2认同)
  • 值得一提的是你可以用qDebug打印QString("%s",qPrintable(qstring_instance)); (2认同)