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