头文件也有,整个程序都可以运行,但是就是不输出打印信息,是不是我软件设置的问题?
2条回答 默认 最新
- threenewbee 2023-04-18 00:31关注解决 无用评论 打赏 举报
关注
不知道你这个问题是否已经解决, 如果还没有解决的话:- 这个问题的回答你可以参考下: https://ask.csdn.net/questions/7762597
- 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:qt中使用日志系统,自定义日志彩色输出,qt日志写入文件,自定义qt日志格式,同时提供Qt日志重定向功能(将qDebug信息输出到界面控件)
- 除此之外, 这篇博客: 金山训练营第五周——课堂内容知识整理拓展-上(04.23)中的 qDebug()函数 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:
- 头文件 ——
#include<QDebug>
- 函数原型 ——
qDebug(const char*message,...)
- 功能 —— 向终端上输出message字符串对应的消息,输出完毕,自动换行。和C++中的cout一样
#include "widget.h" #include <QApplication> int main(int argc, char *argv[]) { QApplication a(argc, argv); //Widget w; //w.show(); qDebug()<<"hello WPS!"; return a.exec(); }
主要作用:调试程序,定位代码中是否有错误或者代码片段中没有正常执行的地方,例如之后关于SQL的查询语句是否正确的被运行,可以通过Qt执行SQL语句前后使用qDebug()来确定
- 头文件 ——
- 以下回答来自chatgpt:
针对该问题,可能的解决方案有以下几种:
-
检查代码中是否有使用qDebug()输出信息,确保该函数已经被调用。如果没有调用该函数,程序是不会输出相关信息的。
-
检查终端是否被正确的配置了,确保终端已经被打开并能够正常输出信息。
-
检查程序是否已经被正确的编译和链接,确保程序能够正常运行。在执行程序之前,最好先对程序进行编译和链接操作。
-
如果以上三种方法都无法解决问题,可以考虑使用Qt的日志库来输出调试信息,例如QtMessageLogger类。这种方法可以更加灵活地控制输出信息的级别和格式,方便问题的定位和解决。
以下是一种可能的代码实现:
#include <QDebug> #include <QLoggingCategory> int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); QLoggingCategory debugCategory("myapp.debug"); debugCategory.setDefaultCategory(&debugCategory); debugCategory.setEnabled(QtDebugMsg, true); qDebug() << "Hello, world!"; // 使用qDebug()输出信息 return a.exec(); }
这段代码中,我们在程序的入口函数中使用了QLoggingCategory类来设置日志的输出级别和标签,并在使用qDebug()输出信息之前将输出信息的类别设置为了"myapp.debug"。这样,我们就可以通过日志系统来输出调试信息,从而更好的定位和解决问题。
-
如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^解决 无用评论 打赏 举报