目录
Qt中日志输出:
普通输出
在头文件#include<QDebug>中。
qDebug()<<"学习"<<"×"<<24<<"h";在编译输出中输出:

在控制台输出
在自己创建的pro文件中添加一句话,以及勾选项目里的框框:

 
 
于是有:

没有这一行字的话可以选择重新构建程序试试。

这样即使是用exe也可以查看:

查看qt文件,也有其他的输出语法:

使用QString与.arg方法输出有占位的字符串:
    QString str=QString("(%1)早上吃了(%2)碗粥").arg("妈妈").arg("1");
    qDebug()<<"输出的字符串是:"<<str;输出:

使用QVariant对Qt中标准类型数据进行处理举例
QVariant能对Qt中的多种类型进行包装。当不同类型数据进行加减等运算,转换成QVariant类型后只需要提供一个API了。(可以理解为联合体)
在mainwindow头文件中添加测试函数:
    //在头文件中添加测试函数:两个变量进行加法运算,变量可能是整型,也可能是字符串,再Alt+回车去编辑函数
    QVariant dataplus(QVariant a,QVariant b);
在mainwindow.cpp文件中添加函数:
QVariant MainWindow::dataplus(QVariant a, QVariant b)
{
    QVariant ret;   //定义一个QVariant类型的变量
    //判断当前参数类型是字符串还是整数型,通过type方法进行判断
    if(a.type()==QVariant::Int && b.type()==  QVariant::Int)  //如果是int类型,则数值相加
    {
        ret=QVariant(a.toInt()+b.toInt());  //转换成实际的整型数相加再转还回QVariant类型
    }
    else if(a.type()==QVariant::String && b.type()==  QVariant::String)  //如果是string类型,则字符串相加
    {
        ret.setValue(a.toString()+b.toString());  //相加后转换成setValue类型
    }
    return ret; //返回ret值
}在mainwindow函数里调用;
MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    //整数型
    int value=dataplus(10,20).toInt();
    //字符串
    QString str=dataplus("hello","world").toString();
    qDebug()<<"int value:"<<value;
    qDebug()<<"String value:"<<str;
}
 
运行一下看看对不对:

QVariant也可以处理自定义类型
在头文件定义我们自己设计的类型,我们选择用结构体:
struct Person
{
    int id;
    QString name;
};
Q_DECLARE_METATYPE(Person)  //Qt不知道有这种类型,使用宏进行声明在原cpp文件中创建并取出:
    //创建Person对象
    Person p;
    p.id=666;
    p.name="Q先生";   //定义p对象中的两个成员
//两种打包方式
#if 0
    QVariant v;
    v.setValue(p);
#else
    QVariant v=QVariant::fromValue(p);  //调用fromValue的静态方法
#endif
    //取出v对象中的数据
    if(v.canConvert<Person>())  //判断v中的这个数据能转换成Person类型,则调用value方法进行转换
    {
        Person tmp=v.value<Person>();   //取出来的转换为Person类型
        qDebug()<<"id:"<<tmp.id<<",name"<<tmp.name;
    }
 
输出:

 
                   
                   
                   
                   
                             本文介绍Qt中日志输出的方法及使用技巧,包括普通输出、控制台输出、使用QString和.arg方法输出字符串。此外,还详细讲解了如何利用QVariant进行不同类型数据的处理,并演示了自定义类型的处理。
本文介绍Qt中日志输出的方法及使用技巧,包括普通输出、控制台输出、使用QString和.arg方法输出字符串。此外,还详细讲解了如何利用QVariant进行不同类型数据的处理,并演示了自定义类型的处理。
           
       
           
                 
                 
                 
                 
                 
                
               
                 
                 
                 
                 
                
               
                 
                 扫一扫
扫一扫
                     
              
             
                   436
					436
					
 被折叠的  条评论
		 为什么被折叠?
被折叠的  条评论
		 为什么被折叠?
		 
		  到【灌水乐园】发言
到【灌水乐园】发言                                
		 
		 
    
   
    
   
             
            


 
            