Qt之输出控制

简述

在Qt项目开发过程中,往往需要对程序的一些信息进行控制,比如:打印日志、调试信息等,便于我们后期查找、跟踪及定位问题。

下面,我们来分享下常用的几种方式。

 

 

示例代码

我们简单地写一些测试代码,用qDebug输出一些基本信息。

#include <QApplication>
#include <QWidget>
#include <qDebug>

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);

    qDebug() << QString::fromLocal8Bit("一去丶二三里");
    qDebug() << QString::fromLocal8Bit("青春不老,奋斗不止!");
    qDebug() << QString::fromLocal8Bit("纯正开源之美,有趣、好玩、靠谱。。。");

    QWidget w;
    w.show();

    return app.exec();
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

应用程序输出

大部分情况下,我们建立的是【Qt Widgets Application】(用于GUI开发)项目,其输出信息在【应用程序输出】窗口。

这对于开发人员来说调试比较方便,但是,当你把整个程序打包出去的时候(比如:给测试人员或者其他人员),他们根本无法获取这些信息(不方便),所以我们可以采用下面两种方式。

控制台输出

对于【Qt Widgets Application】来说,我们也可以像【Qt Console Application】(新建项目时可以选择)一样,进行控制台输出,只不过需要自行控制:

  1. 在.pro文件中添加:

    CONFIG += console
    • 1
    • 1
  2. 选择:项目 -> 运行,勾选【Run in terminal】(在终端运行)选项。

这时,我们的输出信息就可以显示在控制台上了。

重定向至文件

主要采用自定义消息处理机制,重定向输出信息至文件。

其中输出格式可以自定义,比如:输出信息、文件、函数、行号、日期时间。这样就很利于我们追踪了。

详细内容请参考:Qt之qInstallMessageHandler(重定向至文件)

时间: 2024-09-13 07:18:26

Qt之输出控制的相关文章

php 缓存机制:输出控制

1. 运行时配置(php.ini)      output_buffering = Off      display_errors = On  2. 函数说明  (1)bool ob_start ([ callback $output_callback [, int $chunk_size [, bool $erase ]]] )      此函数将打开输出缓冲.当输出缓冲是活跃的时候,没有输出能从脚本送出(除http标头外),相反输出的内容被存储在内部缓冲区中.内部缓冲区的内容可以用 ob_g

怎么用java输出控制word循环

问题描述 怎么用java输出控制word循环 package word; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; impor

qt 滚动条-qt滚动条同时控制QTreeWidget 和QGraphicsView两个窗口同时滑动

问题描述 qt滚动条同时控制QTreeWidget 和QGraphicsView两个窗口同时滑动 各位大神,我是初次接触QT,需要做一个在qsplitter中放两个控件(QTreeWidget 和QGraphicsView),用一个竖的滚动条控制这两个控件同步下滑,请给个思路. 解决方案 如果解决,我可以提供5个金币

SAS学习笔记之《SAS编程与数据挖掘商业案例》(4)DATA步循环与控制、常用全程语句、输出控制

SAS学习笔记之<SAS编程与数据挖掘商业案例>(4)DATA步循环与控制.常用全程语句.输出控制 1. 各种循环与控制 DO组 创建一个执行语句块 DO循环 根据下标变量重复执行DO和END之间的语句 DO WHILE 重复执行直到条件为假则退出循环 DO UNTIL 重复执行直到条件为真则退出循环 DO OVER 对隐含下标数组元素执行DO/END之间的语句 END 退出DO或SELECT语句的标志 SELECT 选择执行SAS语句 IF-THEN/ELSE有条件执行一个SAS语句 GO

C语言变量类型与输出控制用法实例教程_C 语言

本文实例讲述了C语言变量类型与输出控制用法,有助于读者很好的对其进行总结与归纳.该实例分享给大家供大家参考借鉴之用.具体如下: 完整实例代码如下: /********************************************** **<Beginning C 4th Edition>Notes codes ** Created by Goopand ** Compiler: gcc 4.7.0 *******************************************

输出控制类

控制 <?php/** * *  作者: 徐祖宁 (唠叨) *  邮箱: czjsz_ah@stats.gov.cn *  开发: 2002.07 * * *  类: outbuffer *  功能: 封装部分输出控制函数,控制输出对象. * *  方法: *  run($proc)                运行php程序 *    $proc     php程序名 *  display()                 输出运行结果 *  savetofile($filename)  

php输出控制的学习笔记

  1.简介 当PHP脚本有输出时,输出控制函数可以用这些来控制输出.这在多种不同情况中非常有用,尤其是用来在脚本开始输出 数据后,发送http头信息到浏览器.输出控制函数不影响由 header()或setcookie()发送的文件头信息,仅影响像echo这样的函数和PHP代码块间的数据. 2.作用 1).如官方介绍说,为了避免在输出文件头信息如header()和setcookie()之前出现输出而发生的错误.可以使用输出缓存函数.如下代码  代码如下   <?php      ob_start

输出控制类_php基础

<?php/*** *  作者: 徐祖宁 (唠叨)*  邮箱: czjsz_ah@stats.gov.cn*  开发: 2002.07* * *  类: outbuffer*  功能: 封装部分输出控制函数,控制输出对象.* *  方法:*  run($proc)                运行php程序*    $proc     php程序名*  display()                 输出运行结果*  savetofile($filename)     保存运行结果到文件,

php中的输出控制

缓冲输出 <?php for ($i=10; $i>0; $i--) {  echo $i;  flush();  sleep(1); } ?>按照php手册里的说法 该函数将当前为止程序的所有输出发送到用户的浏览器. 上面的这段代码,应该隔一秒钟输出一次$i.但是实际中却不一定是这样.有可能是等了10秒钟后,所有的输出同时呈现出来. 好,我们来改一下这段代码,改成 <?php ob_end_clean();//修改部分 for ($i=10; $i>0; $i--) {