6

I cannot print out a QString in Qt using QDebug.

Below are some attempts (none work):

    QDebug(letters.toStdString());
    QDebug(letters.toLatin1());
    QDebug() << letters.toUtf8();
    QDebug() << letters.toWCharArray();
    QDebug() << letters.toStdString();
    QDebug() << letters;

I have included:

#include <QtDebug>
#include <QDebug>

I am using Qt 5.2. I also added CONFIG += console to my project file

My error is "no matching function for call to QDebug::QDebug()"

I also got "QDebug(QByteArray) is ambiguous" for QDebug(letters.toLatin1());

Kuba hasn't forgotten Monica
  • 95,931
  • 16
  • 151
  • 313
user929404
  • 2,153
  • 1
  • 22
  • 27

1 Answers1

13

The correct way to do so is:

#include <QDebug>

// snip...

QString letters;

qDebug() << letters;

Be careful to use qDebug() beginning with a small letter, since it is not the same thing as the QDebug class.

See http://qt-project.org/doc/qt-5.0/qtcore/qtglobal.html#qDebug. It is a convenience function that returns an already configured QDebug object.

SirDarius
  • 41,440
  • 8
  • 86
  • 100