Qt使用小结(QString,十进制,十六进制数据转换,打开文件等)

Qt使用小结:
一、QT中部分数据类型的相互转换
1、10进制整数转为16进制字符串
      int dec = 100; 
      //arg()函数的参数含义为:1.要转换的十进制数2.要转换成的字符串长度(因为这里dec是int型占四个字节,
      //故转换为16进制后应是8个十六进制数)3.目标字符串的进制 4.填充字符
      QString str = QString("%1").arg(dec,8,16,QChar('0'));    //str = "0064"

2、QString字符串转为整型可直接用该类的toInt(),toUInt(),toLong()...等接口
3、整型数据转为“年-月-日  时-分-秒”规格的日期(自1970.01.01)
      unsigned int dec = 1 522 221 953;
      QDateTime dateTime = QDateTime::fromTime_t(dec);
      QString  TimeStr = dateTime.toString("yyyy-MM-dd  hh:mm:ss");    //TimeStr = "2018-03-28";
4、十进制转为ascll字符
      int dec = 65;
      char ch = dec;
      QString decToStr = QString(ch);
5、double或float类型转换为可控制精度的10进制字符串
      double dou = 1234.56789;
      //arg()的参数含义为:1.要转换的double或float型数据 2.目标数据的位宽,填0即可 
      //3.格式控制,本人只试过'f'或'g' 4.精度,即精确到小数点后的位数,最后一位会四舍五入
      QString douToStr = QString("%1").arg(dou,0,'f',3);    //douToStr = "1234.568";

二、设置textEdit编辑框的某部分数据为选中状态
      QTextCharFormat fmt;   //创建选中时要设置的颜色
      QColor color(135,126,255);
      fmt.setBackground(color);
      QTextCursor cursor = ui->textEdit->textCursor();  //获取编辑框的光标
      cursor.setPosition(10,QTextCursor::MoveAnchor);  //设置光标位置
      cursor.setPosition(20,QTextCursor::KeepAnchor);   //移动光标
      cursor.setCharFormat(fmt);      //此时,位置10-20的数据的背景便被设置为fmt的背景色
三、文件操作
1、打开文件
      fileName = QFileDialog::getOpenFileName(0,QString(),QString(),tr("File(*.pcap)"));  //弹出选择文件对话框
      QFile mFile(fileName);
      mFile.open(QIODevice::ReadOnly);  //只读方式打开
      QByteArray array = mFile.readAll();  //将所有数据读到array中
      mFile.close();    //关闭文件
2、用QBuffer读取QByteArray中的数据
     QByteArray array = mFile.readAll();  //与1联系来看
     QBuffer buffer;
      buffer.setBuffer(&array);
      buffer.open(QIODevice::ReadOnly);
      ...
      读取操作;
      ...
四、给按钮添加图标
      QIcon icon(":/new/image/image/sign-down-icon.png"); //":/new/image/image/sign-down-icon.png"是图片路径
      ui->button->setIcon(icon);


      详细操作可参看这篇文章:https://blog.csdn.net/lbb2016/article/details/52675773

  • 2
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值