标签: qdebug

如何在 Linux 上打印 Qt:HANDLE?(Qt5)

作为验证我的代码实际在哪个线程下运行的方法,我使用QThread::currentThreadId()。然而,根据文档,从此函数返回的Qt::HANDLE类型是平台相关的 typedef。void *在我的平台(Linux)上,它只是(无类型指针)的 typedef 。

那么我将如何使用例如打印它qDebug(),以及如何将其转换为 a QString

c++ linux multithreading qdebug qt5

4
推荐指数
1
解决办法
5220
查看次数

qDebug()没有显示const std :: string&

我试图使用一些矢量数据的名称struct.我想知道在哪个名字qDebug()

更清楚:

const std::string& testName = "asdfqwer";
qDebug() << testName;
Run Code Online (Sandbox Code Playgroud)

它在构建中给出了错误消息:

Error: no match for 'operator<<' in 'qDebug()() << testName'
Run Code Online (Sandbox Code Playgroud)

我没有更改const std::string&类型的选项.你可以帮我解决这个问题而不改变类型吗?

c++ string qt qdebug

3
推荐指数
2
解决办法
6611
查看次数

通过 qDebug 打印 qByteArray

#include <QCoreApplication>
#include <QByteArray>
#include <QDebug>

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    QByteArray dataReceivedFromSerialPort;

    dataReceivedFromSerialPort.push_back(0x0A);
    dataReceivedFromSerialPort.push_back(0x0B);
    dataReceivedFromSerialPort.push_back(0x0C);
    dataReceivedFromSerialPort.push_back(0x0D);
    dataReceivedFromSerialPort.push_back(0x0E);
    dataReceivedFromSerialPort.push_back(0x0F);
    dataReceivedFromSerialPort.push_back(0x07);
    dataReceivedFromSerialPort.push_back(0x02);
    dataReceivedFromSerialPort.push_back(0x01);
    dataReceivedFromSerialPort.push_back(0x02);

    qDebug() << "tostr: " << dataReceivedFromSerialPort.toStdString().c_str();


    return a.exec();
}
Run Code Online (Sandbox Code Playgroud)

以上不打印任何值。除了“tostr:”之外,它不会打印任何内容。如果我将 0x0A 存储在 uchar 中,然后将其推送到 qByteArray 中,那么这个问题就会消失。

我能以当前的形式打印它吗?

c++ qt qdebug

3
推荐指数
1
解决办法
1万
查看次数

使用qDebug收集用户输入

我一直想知道是否可以使用qDebug()Qt C++中的语句收集用户输入.

我试过像std C++代码那样做:

qDebug() >> myvar;
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

如何阅读stdin使用Qt?

c++ qt qdebug

2
推荐指数
1
解决办法
902
查看次数

替换 console.debug() console.warn() 的日志后端

Qt Quick 使用 qDebug执行日志记录,其中标准 Javascript 日志记录方法映射到 Qt 日志类型

console.log()   -> qDebug()
console.debug() -> qDebug()
console.info()  -> qDebug()
console.warn()  -> qWarning()
console.error() -> qCritical()
Run Code Online (Sandbox Code Playgroud)

在这一点上,您失去了 debug() 和 info() 之间的区别。

有没有办法直接在 QML 引擎中为 Javascript 方法注册自定义记录器,而无需通过 qDebug 和qInstallMessageHandler

logging qt qml qdebug qtquick2

2
推荐指数
1
解决办法
703
查看次数

QtCreator:未显示 qDebug 消息

我目前在 Windows 7(64 位,旗舰版)上使用 QT Creator 3.2.1 和 Qt 5.3.2(根据我当前项目的要求)。我目前正在做一个 GUI 项目

尽管已执行以下操作,但我无法在“应用程序输出”窗口中看到任何 qDebug 消息:

  1. 拥有合适的 QDebug 代码
  2. 在调试模式下构建项目
  3. 使用“CONFIG += openssl-linked”“CONFIG += console”作为构建项目的附加参数
  4. 根本没有定义 QT_NO_DEBUG_OUTPUT
  5. 确认我有一个调试器(在安装 QtCreator 期间安装了来自 MinGW 4.8.2 32 位的 GDB)

我可以知道我还应该尝试什么吗?谢谢!

qt qt-creator qdebug

2
推荐指数
1
解决办法
3498
查看次数

在Qt上,qDebug qWarning qCritical和qFatal日志默认位于何处?

在linux上运行我的Qt5应用程序时,我看不到qDebug,qWarning,qCritical或qFatal的任何输出.我知道我可以使用qInstallMsgHandler安装消息处理程序并查看它们,但这是相当重量级的.

我只想查看qWarning日志,看看是否有任何错误连接的信号.有没有办法看这个日志?一个特殊的命令行选项,一个环境变量?

我想我记得在过去,所有内容都打印到stderr,也许这是Qt5的变化?

qt qdebug qt5

1
推荐指数
2
解决办法
3084
查看次数

qDebug打印错误的数字

我只是想用qDebug以下方法打印一个数字:

qDebug() << QString::number(03001);
Run Code Online (Sandbox Code Playgroud)

但结果是:

"1537"
Run Code Online (Sandbox Code Playgroud)

如果我尝试打印没有第一个零:

qDebug() << QString::number(3001);
Run Code Online (Sandbox Code Playgroud)

结果是正确的:

"3001"
Run Code Online (Sandbox Code Playgroud)

为什么会这样?

我正在使用Qt 5.3.

c++ qstring qt qdebug

1
推荐指数
1
解决办法
329
查看次数

qDebug()不会打印任何内容

我尝试将Qt与CLion一起使用.我的问题是qDebug()不打印任何东西,但qInfo(),qWarning(),qCritical()和qFatal()运行良好.这是我的示例代码:

#include <QCoreApplication>
#include <QDebug>

int main(int argc, char *argv[]) {
    QCoreApplication a(argc, argv);

    qDebug() << "This will not appear";
    qInfo() << "This will appear";
    qWarning() << "This will appear too";
    qCritical() << "This will appear too";

    return a.exec();
}
Run Code Online (Sandbox Code Playgroud)

眼镜 :

  • Qt:5.5.1
  • 海湾合作委员会:5.3.1(64位)
  • CMake:3.3.2
  • 克里昂:1.2.2

c++ qt qdebug clion

-1
推荐指数
1
解决办法
2780
查看次数

标签 统计

qdebug ×9

qt ×8

c++ ×6

qt5 ×2

clion ×1

linux ×1

logging ×1

multithreading ×1

qml ×1

qstring ×1

qt-creator ×1

qtquick2 ×1

string ×1