main.cpp 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. #include "mainwindow.h"
  2. #include <QApplication>
  3. #include <QApplication>
  4. #include <stdio.h>
  5. #include <stdlib.h>
  6. #include<QFile>
  7. #include<QTextStream>
  8. #include<QDebug>
  9. void myMessageOutput(QtMsgType type,const QMessageLogContext &context, const QString &msg)
  10. {
  11. QString txt;
  12. switch (type) {
  13. //调试信息提示
  14. case QtDebugMsg:
  15. txt = QString("Debug: %1 from %2,%3,%4").arg(msg).arg(context.file).arg(context.function).arg(context.line);
  16. break;
  17. //一般的warning提示
  18. case QtWarningMsg:
  19. txt = QString("Warning: %1 from %2,%3,%4").arg(msg).arg(context.file).arg(context.function).arg(context.line);
  20. break;
  21. //严重错误提示
  22. case QtCriticalMsg:
  23. txt = QString("Critical: %1 from %2,%3,%4").arg(msg).arg(context.file).arg(context.function).arg(context.line);
  24. break;
  25. //致命错误提示
  26. case QtFatalMsg:
  27. txt = QString("Fatal: %1 from %2,%3,%4").arg(msg).arg(context.file).arg(context.function).arg(context.line);
  28. abort();
  29. }
  30. qDebug()<<txt;
  31. QFile outFile("debuglog.txt");
  32. outFile.open(QIODevice::WriteOnly | QIODevice::Append);
  33. QTextStream ts(&outFile);
  34. ts << endl<< txt << endl;
  35. }
  36. int main(int argc, char *argv[])
  37. {
  38. qInstallMessageHandler(myMessageOutput);
  39. QApplication a(argc, argv);
  40. MainWindow w;
  41. w.show();
  42. return a.exec();
  43. }