我已经看到了一些使用qDebug的Qt代码,就像它一样 printf()
qDebug( format, ... );
Run Code Online (Sandbox Code Playgroud)
大多数情况下,我看到它使用像 std::cout
qDebug() << "one " << var_one;
Run Code Online (Sandbox Code Playgroud)
用法有什么不同,何时使用另一个是正确/更好的?Qt帮助在线以某种方式似乎参考功能版本但从未解释它.
qDebug(pattern, object1, object2)它基本上是老式的fprintf(stderr, pattern, object1, object2),因此你依靠编译器支持来避免 - 例如 - 用错误的模式崩溃你的程序,比如int x; qDebug("%s\n", x);.好吧,GCC抓住了这个,但我认为编译器不能总是知道模式是否合适.
我总是使用qDebug() << object << ...;,正如文档所述
如果包含QtDebug,还可以使用更方便的语法:
qDebug() << "Brush:" << myQBrush << "Other value:" << i;
Run Code Online (Sandbox Code Playgroud)
使用此语法,该函数返回一个配置为使用QtDebugMsg消息类型的QDebug对象.它会自动在每个项目之间放置一个空格,并在最后输出换行符.它支持许多C++和Qt类型.
你可以将大多数Qt对象传递给qDebug()<< ...并以可读的方式呈现它们
试试吧 qDebug() << QTime::currentTime();
| 归档时间: |
|
| 查看次数: |
1753 次 |
| 最近记录: |