首页 > 编程知识 正文

qt调用shell脚本,qt打印字符串

时间:2023-05-06 07:16:07 阅读:164741 作者:449

在项目开发中,我们调试程序时,最常用的是打印信息。 Qt为我们提供了非常方便的打印信息类QDebug。

大家应该已经熟练使用了QDebug,但可能也有没有注意到的地方。 认真的行人介绍QDebug的一般特性。

1 qDebug()的最常用法

就像我们使用qDebug使用std:cout一样,在重定向操作符()之后直接加上我们的字符串就可以了。

例如:

qDebug () Hello ) 123; qDebug ) )也可以打印Qt中的基本类型,例如QString,QByteArray,QDate,QRectF,QVariantHash,QFont。 对于Qt中的基本类型,可以在帮助文档中搜索关键字QMetaType,但此处不提供。

例如:

qDebug () qstring ) ) Hello ) ) q点) 10、10; 以上使用方法必须包含头文件QDebug

#include QDebug

2 不包含头文件,直接使用qDebug()

一般来说,每次我们使用qDebug )时,都会要求包含头文件qDebug。 如果习惯用c语言格式化输出,还可以按如下方式输出打印信息:

#includeqobjectintmain(intargc,char * argv [ ] ) (intnum=20; char str[20]='hello world '; qDebug ('如果只写在括号中,则不需要qDebug头文件%d %s ',num,str ); }

实际的qDebug包含在qlongging.h中。 我们的Qt程序通常包含QObject,所以这里的头文件包含QObject,所以不需要添加qDebug头文件。

此方法在仅打印临时基本类型信息(如字符串)时非常有用,但请记住,Qt支持的基本类型无法打印。

3 为自定义类添加qDebug()打印

要使用qDebug打印自定义类信息,请执行以下操作:

# includeqdebugclassstudent { public : student (constqstringnm ) {name=nm; } QString getName () const ) returnname; }private: QString name; (; qdebugoperator(qdebugdebug,const Student c ) ) { debug c.getName; 返回调试; }intmain(intargc,char *argv[] ) studentstudent('John ); qDebug ) ) student; }首先,定制了类Student,并创建了用于获取构造函数和名称的检索器。

然后定义“”操作符并打印名称。

最后,main函数创建Student的一个实例,并使用qDebug ()打印该实例。

4 消除qDebug()打印

qDebug的打印信息主要是为了在调试程序时尽快找到错误,所以在发行版本时需要去除debug打印。 可以在提高程序执行速度的同时减少程序的体积。

在我做的项目中,有很多人用添加评论的方法去除印刷。 这个方法是可能的,但不太有效。 如果有一天程序出现了错误,就需要从注释中删除打印信息。 这很辛苦。 当然,给日志排名也是个好主意。

要解决此问题,只需在pro文件中添加一行预定义的宏。

DEFINES =QT_NO_DEBUG_OUTPUT

在你的程序中添加这个宏,重新编译可执行程序,看看你的打印信息有没有用完。 哈哈,这个方便吗? Qt这么了解你。

q关于qDebug的知识点,掌握以上知识,在我们的项目开发中基本上已经足够了。 感兴趣的人也可以检查qWarning () (qCritical ) (qFatal ) )等函数。 可能是qDebug ) )类似。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。