`
qimo601
  • 浏览: 3444040 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

Qt控制台输出QString

    博客分类:
  • Qt
阅读更多

有时候想在控制台输出我们想要的QString变量。

1、qDebug可以实现在控制台终端打印,但我们还是想使用C++中的std::cout<<variable

 

This function does nothing if QT_NO_DEBUG_OUTPUT was defined during compilation.

 

2、网上说的方法利用QTextStream:

 

 

 #include <QTextStream>
QTextStream cin(stdin, QIODevice::ReadOnly);
QTextStream cout(stdout, QIODevice::WriteOnly);
QTextStream cerr(stderr, QIODevice::WriteOnly);
QString st("hello world");
cout <<str<<endl;//必须加endl才能输出
cin>>str;//输入
cout <<str;
cout.flush();//或者加cout.flush()才能输出

 这样的cin、cout、 cerr和我们在传统C++遇到的有一点不同,那就是你cout了一个QString之后,默认是不直接输出的,一般需要等到cout的缓冲区满之后,才 向终端输出内部的字符串;如果你想在cout之后马上看到输出的内容,可以在输出之后在输出一个endl,或者调用cout的内部方法flush,强制情 况缓冲区

 

3、我们还是习惯用C++的 #include<iostream>中的std::cout,这个时候QString类型需要转换成Char *

 

 

#include <iostream>
QString str("hello,world");
QByteArray ba(str.toAscii());//toAscii()返回一个QByteArray类型
std::cout << ba.data();//data()返回char *
//其它类型变量还是可以照常输出的。
分享到:
评论

相关推荐

    QT控制台consoleQTextStream类获取键盘输入响应

    总结来说,`QTextStream`在QT控制台应用程序中提供了强大的文本输入输出功能。通过`QTextStream`,我们可以方便地获取键盘输入,同时还能进行格式化的输出,使控制台交互更加人性化。在编写QT控制台程序时,合理利用...

    QT对数据库mysql的读写,以及在控制台输出

    这里我们将深入探讨如何在QT环境中配置MySQL驱动,创建数据库连接,执行SQL查询以及在控制台输出结果。 首先,为了在QT中使用MySQL,我们需要安装必要的库。QT提供了一个名为`qtbase`的模块,其中包含`QtSql`模块,...

    Qt实现简单的qDebug输出到日志文件

    本教程将详述如何使用Qt自带的`qDebug()`函数将其输出重定向到日志文件,而不依赖任何第三方库,适用于小型项目的需求。 首先,理解`qDebug()`函数。它是Qt提供的一个宏,用于方便地输出调试信息。默认情况下,这些...

    log4qt 日志管理 log4qt 日志管理log4qt 日志管理log4qt 日志管理log4qt 日志管理log4qt 日志管理

    Log4Qt是Qt应用程序的日志解决方案,它提供了多种级别的日志记录(如DEBUG、INFO、WARN、ERROR、FATAL等),以及灵活的配置选项,包括日志输出目的地(控制台、文件、网络、数据库等)和格式。其设计理念在于,通过...

    Qt利用qInstallMessageHandler输出日志QtLogOut.rar

    在本文中,我们将深入探讨如何在Qt应用中利用`qInstallMessageHandler`函数来实现自定义的日志输出机制。这个话题对于任何希望监控和调试Qt应用程序的开发者来说都是至关重要的。我们将通过分析提供的代码文件来阐述...

    Qt日志重定向qInstallMessageHandler,输出至文件及网络

    Qt提供了一种内置机制来处理日志,即`qInstallMessageHandler`函数,这个函数允许我们自定义消息处理函数,将原本输出到控制台的日志信息重定向到其他地方,如文件或网络。本文将深入探讨如何利用`...

    qt 使用api 隐藏ui启动第三方exe

    在Qt框架下,有时我们需要在不显示用户界面(UI)的情况下启动第三方应用程序。这通常用于后台执行任务或者作为服务运行。本篇文章将详细介绍如何利用Qt的API来实现隐藏UI启动第三方的可执行文件(exe)。 首先,让...

    自己实现的Qt日志记录系统

    然而,Qt默认的输出方式通常是控制台,有时我们需要将这些日志记录到文件中,或者在特定场景下展示在Qt界面的控件上。本文将详细介绍如何自己实现一个Qt日志记录系统,以满足这些需求。 首先,我们要理解`qDebug()`...

    C语言程序设计大作业:选课系统 基于QT的纯C++控制台项目

    - 用户界面虽然基于控制台,但依然可以通过QT提供的输入输出功能实现友好的交互,例如使用`qDebug()`进行调试输出,使用`cin`和`cout`进行用户输入和输出。 5. **项目结构**: - 按照功能模块划分代码,如登录...

    qt5版本log4qt

    在Qt5中,尽管可以使用内置的`qDebug()`等宏进行简单的日志输出,但当面临复杂日志管理需求时,如多级别日志、日志过滤、不同输出目的地(如文件、控制台、网络)等,Log4Qt就显得尤为适用。Log4Qt提供了层次结构的...

    QT5 编写小例子 调用外部Dos 命令

    最后,我们通过`readAllStandardOutput`获取命令的输出,并将其打印到控制台。 在Linux上,由于`ifconfig`命令可能不再预装在某些现代系统中,你可能需要使用`ip addr show`代替。同时,注意在不同平台上,命令的...

    Qt中第三方日志库qslog的基本配置和使用详解示例程序

    首先,qslog是一个轻量级的日志库,它为Qt应用程序提供了丰富的日志记录功能,支持多种输出方式,如控制台输出、文件输出、网络发送等。通过简单的API,开发者可以方便地进行日志级别的设定,以及定制日志格式。 ...

    QT实现类似qDebug()打印输出之mDebug()

    `qDebug()`函数是QT提供的一种日志输出工具,用于在控制台打印调试信息,这对于排查问题非常有用。然而,有时我们可能需要自定义更高级的调试功能,比如在本例中提到的`mDebug()`,它扩展了`qDebug()`,增加了对...

    QT添加操作日志记录

    然而,`qDebug()`默认情况下并不把输出信息写入文件,而是显示在控制台或者IDE的输出窗口。为了将这些信息保存到本地TXT文件,我们需要自定义一个日志类来捕获和处理这些调试信息。 1. **创建日志类** 创建一个名...

    使用QT获取本机MAC

    最后,将MAC地址输出到控制台。 #### 五、注意事项 - 在实际应用中,可能需要考虑多个有效的网络接口的情况,因此可以适当修改代码以适应不同的需求。 - 如果程序运行在不同平台上(如Windows、Linux等),需要...

    QT实现配置文件设置和日志的存储,包括时间、文件名和时间(VS2019编译环境)

    QT的日志功能通常与`QDebug`类配合使用,它提供了一种向控制台或文件输出调试信息的方式。为了记录程序运行过程中的日志,我们可以创建一个自定义的日志类,该类包含写入日志文件的函数。以下是一个简单的实现: ``...

    QT调用python带截图及详细步骤

    打开Qt Creator,创建一个新的Qt控制台应用程序。这一步是为了提供一个基础的运行环境,方便我们后续调用Python脚本。 **步骤2:构建生成目录** 为了便于调试和修改,我们需要确保Python脚本与Qt应用程序处于同一...

    QT客户端显示界面全部代码.zip

    例如,`QCamera`类用于摄像头的控制,`QTextStream`用于控制台输出,`QString`和`QByteArray`处理字符串和字节数据,而网络通信可能使用了`QTcpSocket`或`QUdpSocket`类。 此外,开发过程中还需要遵循面向对象编程...

    qt 获取按键次数

    当用户按下回车时,我们增加`keyCount`的值并输出当前的按键次数。这个循环会一直运行,直到程序被中断。 值得注意的是,上述代码只能捕获到用户按下回车后的输入,因为`readLine()`方法会阻塞程序,直到接收到一个...

Global site tag (gtag.js) - Google Analytics