Qt学习点滴积累

这篇博客介绍了Qt编程的一些实用技巧,包括int和float转化为QString的方法,QMultimap的使用和遍历,QStringList的替换与分隔符插入,SQLite事务管理,QTableView列标题初始化以及如何显示数据库查询结果。同时提到了在QMap嵌套使用时需用到QVariant,以及QTableView自动调整列宽的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.  int  、 float 转化成QString

QString("%1").arg(value);   //类似printf


2.注册元数据,需要提供public 默认构造函数、复制构造函数、析构函数

   

 qRegisterMetaType<DataTrans>("DataTrans"); //注册元数据


3.QMultimap 使用以及遍历

QMultiMap<QString,quint16>map;
map.insert("192.168.2.102",2012);
map.insert("192.168.2.103",2013);
map.insert("192.168.2.104",2014);
foreach(QString key, m_devIPMap.keys())
{
foreach(quint16 port, m_devIPMap.values(key))
{
m_socket->writeDatagram(Data,QHostAddress(key),port);
//qDebug()<<key<<":"<<port;
}
}


4.字符串List替换(QStringList)

 //每个值加上单引号'',e.g. 192.168.1.102转化成'192.168.1.102'
  QStringList val=values,valReplaced;

  valReplaced = val.replaceInStrings(QRegExp("^(.*)$"),"'\\1'");


5.QStringList插入分隔符----','

QString  part3 = valReplaced.join(",");


6.Qt中使用SQLite事务管理

m_db.transaction();

bool ok=false;
 ok=insertMainTable(mainTable,sqlInsert,timeStamp);
     foreach (QString eachType, typeList)
     {


         ok=insertDataTable(sensorDataTbl,sqlInsert,eachType,timeStamp);


     }
     m_db.commit(); // 提交


7.使用在QMap映射表嵌套使用QMap时

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值