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】(新建项目时可以选择)一样,进行控制台输出,只不过需要自行控制:
在.pro文件中添加:
CONFIG += console
- 1
- 1
选择:项目 -> 运行,勾选【Run in terminal】(在终端运行)选项。
这时,我们的输出信息就可以显示在控制台上了。
重定向至文件
主要采用自定义消息处理机制,重定向输出信息至文件。
其中输出格式可以自定义,比如:输出信息、文件、函数、行号、日期时间。这样就很利于我们追踪了。
详细内容请参考:Qt之qInstallMessageHandler(重定向至文件)
Qt之输出控制的更多相关文章
- Qt 日志输出
Qt学习(3)日志输出 普通的打印输出 用 QtCreator 开发 Qt 程序时, 经常需要向控制台打印一些参数.有时候是查看对象的属性是否被正确设置,有时候是查看程序是否执行了某一段代码,或者执行 ...
- cout输出控制——位数和精度控制
刷到一道需要控制输出精度和位数的题目 刚开始以为单纯使用 iomanip 函数库里的 setprecision 就可以,但 OJ 给我判了答案错误,后来一想这样输出并不能限制位数只能限制有效位数. 比 ...
- unity中Debug输出控制
1 需求: (1)选择在界面.console中输出,并且能够设置保存到文档 (2)控制debug是否输出,可以在debug模式下输出,release模式下不输出 2 参考: 谢谢雨松同学的博客:htt ...
- MATLAB格式化输出控制 分类: 数学 2015-07-31 23:01 3人阅读 评论(0) 收藏
MATLAB格式化输出控制 format 默认格式 format short 5字长定点数 format long 15字长定点数 format short e 5字长浮点数 format long ...
- ios中判断控制台Log输出控制,是否是iphone5,自动调整尺寸
// 控制台Log输出控制,此确保在release版本下无Log输出 #ifdef DEBUG #define CMBLOG NSLog #else #define CMBLOG ...
- CC2530入门教程-02】CC2530的通用I/O端口输入和输出控制
第2课 CC2530的通用I/O端口输入和输出控制 广东职业技术学院 欧浩源 一.CC2530的引脚概述 CC2530微控制器采用QFN40封装,有40 个引脚.其中,有21个数字I/O端口,其中 ...
- Jmeter的log输出控制
Jmeter的log输出控制(jmeter.log) log_level.jmeter=ERROR log_level.jmeter.junit=DEBUG 在jmeter.properties中,修 ...
- 【CC2530入门教程-02】CC2530的通用I/O端口输入和输出控制
第2课 CC2530的通用I/O端口输入和输出控制 小蜜蜂科教 / 广东职业技术学院 欧浩源 [通用I/O端口视频教程:https://v.qq.com/x/page/x0793aol7us.ht ...
- [Linux]屏幕输出控制
专门的术语叫做ANSI Escape sequences(ANSI Escape codes),题目并不恰当,与其说是屏幕输出控制,不如说是通过bash在兼容VT100的终端上进行输出. 主要有以下类 ...
随机推荐
- iOS framework配置脚本
# Sets the target folders and the final framework product. FMK_NAME=HovnVoipEngine FMK_VERSION=1.0 # ...
- Android Recovery OTA升级(一)—— make otapackage
文件夹 文件夹 概述 make otapackage BUILT_TARGET_FILES_PACKAGE ota_from_target_files WriteFullOTAPackage Sign ...
- django 笔记3
FBV function base view url.py index -> 函数名 view.py def 函数(requset): ... CBV class base view /inde ...
- 配置CiscoWorks 2000 ANI同步
配置CiscoWorks 2000 ANI同步 在CiscoWorks 2000的LAN ManagementSolution(LMS)中,Cisco包含了一种ANI的自动发现过程和Res ...
- 光纤收发器TR-962D/932D的面板指示灯及开关代表的含义?
指示灯含义说明:POWER(绿色):“常亮”表明光纤收发器处于通电状态:LFP指示灯: “常亮”表明LFP功能开启,“常灭”表示LFP功能关闭:FX_LINK/ACT(绿色):“常亮”表明光纤端口连接 ...
- JAVA文件读取FileReader
JAVA文件读取FileReader 导包import java.io.FileReader 创建构造方法public FileReader(String filename),参数是文件的路径及文件名 ...
- PHP定时执行任务
ignore_user_abort();//关掉浏览器,PHP脚本也可以继续执行. set_time_limit(0);// 通过set_time_limit(0)可以让程序无限制的执行下去 $int ...
- HDU 4975 A simple Gaussian elimination problem.
A simple Gaussian elimination problem. Time Limit: 1000ms Memory Limit: 65536KB This problem will be ...
- 五十个UI设计资源网站
五十个UI设计资源网站 用户体验团队网站 1.UCD大社区 http://ucdchina.com/ 2.腾讯WSD http://wsd.tencent.com/ 3.腾讯CDC http://cd ...
- java.util.ConcurrentModificationException 异常解决的方法及原理
近期在修程序的bug,发现后台抛出下面异常: Exception in thread "main" java.util.ConcurrentModificationExceptio ...