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());
How do you convert QString to double in Qt? lineEdit->setText("123456789"); QVariant val = lineEdit->text(). toDouble();
You can use: QString qs; // do things std::cout << qs. toStdString() << std::endl; It internally uses QString::toUtf8() function to create std::string, so it's Unicode safe as well.
QDebug is used whenever the developer needs to write out debugging or tracing information to a device, file, string or console.
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With