首页 > 其他分享 >Qt 中将std::cout 重定向到 qDebug

Qt 中将std::cout 重定向到 qDebug

时间:2023-05-27 09:46:01浏览次数:43  
标签:std const cout app qDebug 重定向

#include <QtCore>
#include <iostream>

void customMessageHandler(QtMsgType type, const QMessageLogContext& context, const QString& msg)
{
  QByteArray localMsg = msg.toLocal8Bit();
  switch (type) {
  case QtDebugMsg:
     std::cout << localMsg.constData() << std::endl;
    break;
  // 添加其他消息类型的处理逻辑,如警告、错误等
  default:
    break;
  }
}

int main(int argc, char *argv[])
{
  // 安装自定义的消息处理器
  qInstallMessageHandler(customMessageHandler);

  QApplication app(argc, argv);

  // 使用std::cout输出,会被重定向到qDebug
  std::cout << "Hello, Qt!" << std::endl;

  return app.exec();
}

标签:std,const,cout,app,qDebug,重定向
From: https://www.cnblogs.com/wish-sleeping/p/17436282.html

相关文章

  • 使用 PostMessage 函数来发送带有 std::vector 作为参数的消息
    使用PostMessage函数来发送带有std::vector作为参数的消息,您可以将std::vector的地址封装进LPARAM类型的指针中,并将其传递给PostMessage函数的lParam参数。在接收方,您需要使用reinterpret_cast将LPARAM转换回std::vector的指针,然后使用它来访问std::vector。下......
  • RustDesk,可私有部署的远程控制软件
    一、服务端:运行压缩包里面的RustDeskServer.Setup.exe安装即可  二、客户端:输入ID服务器IP地址即可开始连接,完全免费使用,无任何限制 ......
  • C++的cout
    ▲setw(n)用法:通俗地讲就是预设宽度如cout<<setw(5)<<255<<endl;结果是:(空格)(空格)255▲setfill(charc)用法:就是在预设宽度中如果已存在没用完的宽度大小,则用设置的字符c填充如cout<<setfill('@')<<setw(5)<<255<<endl;结果是:@@255▲setbase(i......
  • servJump extends HttpServlet //request.getRequestDispatcher //response.sendRed
    packagecom.test;importjava.io.IOException;importjava.io.PrintWriter;importjava.util.HashMap;importjava.util.Map;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;impo......
  • 编写C++时遇到"undefined reference to `std::cout'"
    今天直接将C语言的配置文件粘贴到了C++的工程里面,代码没有报错但是编译报错后面自己试了一下发现用gcc编译c++的话就会报"undefinedreferenceto`std::cout'"的错误解决方法:用g++重新编译......
  • 记一个 Duplicate class kotlin-stblib vs kotlin-stdlib-jdk7/8 编译问题引发的案例
    某天将项目kotlin版本升级到了1.8.0,然后编译报错了,Duplicateclasskotlin-stblibvskotlin-stdlib-jdk7/8然后开始寻求解决方案...Duplicateclasskotlin-stblibvskotlin-stdlib-jdk7/8kotlin-stdlibkotlin1.8.0基于JVM1.8编译,不再支持JVM1.6和1.7。后续不......
  • C++ return std::move(obj)的效率问题
    在visualstudio2022x32release模式下测得 直接看图即可,可以看出returnstd::move反而会降低性能,而直接返回obj则与直接构造无任何差异。这其实不符合我们对直接返回对象的直觉理解,不过这个和编译器的优化相关,可以详细搜索RVO和NRVO的相关内容。......
  • [C++特性]对std::move和std::forward的理解
    左值、右值、左值引用以及右值引用std::move和std::forward这两个API主要服务于左值引用和右值引用的转化和转发,因此再了解这两个API之前,需要先弄清楚这几个概念。左值:一般指的是在内存中有对应的存储单元的值,最常见的就是程序中创建的变量右值:和左值相反,一般指的是没有对应存......
  • RustDesk 远程桌面
    RustDesk是一款开源远程桌面软件。有云服务器的话,可以几分钟就搭一个,本文是搭建的记录。自建服务器下载服务器程序,#上传进服务器,假设其IP为`x.x.x.x`[email protected]:登录进服务器:#解压unziprustdesk-server-linux-amd64.zip#......
  • cout cin
    cinistream类,定在文件为iostream头文件,为以下数据类型重载了>>抽取操作符,所重载的函数称为格式化输入函数。signedchar&、unsignedchar&、char&、short&、unsignedshort&、int&、unsignedint&、long&、unsignedlong&、longlong&(C++11)、unsignedlonglong......