头文件也有,整个程序都可以运行,但是就是不输出打印信息,是不是我软件设置的问题?
在输出的那一行,下一个断点调试下,看看有没有执行到。
不知道你这个问题是否已经解决, 如果还没有解决的话:#include<QDebug>
qDebug(const char*message,...)
#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()来确定
针对该问题,可能的解决方案有以下几种:
检查代码中是否有使用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"。这样,我们就可以通过日志系统来输出调试信息,从而更好的定位和解决问题。