Qt中的数据类型转换总结

Qt中的数据类型转换总结,第1张

QString number() 函数可以将int、float、double等常见数据转换成QString。具体 *** 作如下:

首先有些可以直接强制转换,比如float a; int b=(int)a强制转换下但可能会造成损失,不能强制转换的可以参照下边内容。

1、int  ~~>  QString  

//即可把a转换成QString

2、float/double  ~~>  QString

 //得到1.23,第二个参数是转换类型,见下边倒数第二个重构函数,最后一个参数是精确位数。

3、 QString——QByteArray

在UART通讯时传输的数据类型要求时QByteArray,得到的QString或者int等类型需要转换成QByteArray,其实很简单,直接。

其他数据类型想转QByteArray可以先转成QString再转到QByteArray。

很简单直接.to就提醒了。

4、16进制——int——QString——float

将格式该为16后得到的就是"ff"16进制的字符串类型。

反过来如果要一个"ff"的16进制字符串转换成10进制整数

参照上图中的QString.toInt(bool *ok=nullptr, base =10)函数,将base该为16即可。如

如果 num.toInt(&ok,10)这样,返回的则是0! 

5、16进制自动补零

在组帧的时候会用到这种 *** 作。让每个数据占用固定的字节。

//k为int型或char型都可,得到的 key 为 000f。

6、保留指定小数位数与科学计数法

qt可以实现连接各种数据库,这里介绍qt自带的一种数据库(Qsqlite)

#include<QSqlQuery>

#include<QObject>

#include<QVariantList>

#include<QDebug>

#include<QSqlError>

#include<QTextCodec>

#include<QObject>

staticboolcreateConnection()

{QSqlDatabasedb=QSqlDatabase::addDatabase("QSQLITE")

db.setDatabaseName("mytest.db")

if(!db.open())

returnfalse

QSqlQueryquery

//query.exec(QObject::tr("createtablestudent(idintprimarykey,namevchar)"))

//query.exec(QObject::tr("insertintostudentvalues(0,'刘')"))

////query.exec(QObject::tr("insertintostudentvalues(1,'刚')"))

//query.exec(QObject::tr("insertintostudentvalues(2,'红')"))

//query.prepare("insertintostudentvalues(?,?)")

//-------------------------------------------------------

//通过下面这段代码可以实现向数据库插入变量

//--------------------------------------------------------

QVariantListages

intx1,x2,x3,x4

x1=12

x2=13

x3=14

x4=15

ages<<x1<<x2<<x3<<x4

query.addBindValue(ages)

QVariantListnames

names<<QObject::tr("小王")<<QObject::tr("小明")<<QObject::tr("小张")<<QObject::tr("小新")//如果要提交空串,用QVariant(QVariant::String)代替名字

query.addBindValue(names)

if(!query.execBatch())//进行批处理,如果出错就输出错误

qDebug()<<query.lastError()

returntrue

}

#endif//DATABASE_H

然后用QSqlTableModel实现数据库数据显示


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10018513.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存