【问题标题】:How to send a QString to debug output? [duplicate]如何发送 QString 来调试输出? [复制]
【发布时间】:2014-02-09 13:27:38
【问题描述】:

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

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

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

我已包括:

#include <QtDebug>
#include <QDebug>

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

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

对于QDebug(letters.toLatin1());,我还得到了“QDebug(QByteArray) is ambiguous”

【问题讨论】:

  • 你得到什么错误?
  • 你应该以不同的方式使用它:qDebug() &lt;&lt; letters;
  • @SirDarius 我编辑了这个问题来回答你。
  • @mexus 看第六次尝试
  • QDebug 和 qDebug 不一样...

标签: c++ qt user-interface qt5 qdebug


【解决方案1】:

正确的做法是:

#include <QDebug>

// snip...

QString letters;

qDebug() << letters;

小心使用以小写字母开头的qDebug(),因为它与QDebug 类不同。

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

【讨论】:

  • 这就是我所做的,它不起作用
  • @user929404 它是qDebug 而不是QDebug。读。不要猜测。
  • 值得一提的是,您可以使用 qDebug("%s", qPrintable(qstring_instance)); 打印 QString;
猜你喜欢
  • 1970-01-01
  • 2014-04-10
  • 2015-01-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-24
  • 1970-01-01
相关资源
最近更新 更多