当前位置: 首页 > news >正文

域名回收网站网站建设广告

域名回收网站,网站建设广告,wordpress手机管理APP,wordpress分类文章获取实现HEX显示: HEX 显示 -- 其实就是 十六进制显示 -- a - 97(10) -- 61(16) 添加槽函数(bool): 实现槽函数: 注意: 注意QString 没有处理HEX显示的相关API 需要使用 toUtf-8 来 转换位QByteArry 类型#xff0c; 利用其中的API 来处理HEX格式(toHex fromHex) vo… 实现HEX显示:  HEX 显示 -- 其实就是 十六进制显示 -- a - 97(10) -- 61(16) 添加槽函数(bool): 实现槽函数: 注意:  注意QString 没有处理HEX显示的相关API 需要使用 toUtf-8 来 转换位QByteArry 类型 利用其中的API 来处理HEX格式(toHex   fromHex) void Widget::on_checkBox_HexDisplay_clicked(bool checked) {if(checked){ // 吧把格式转为HEX格式显示// 获得 内容QString tmp  ui-textEditRev-toPlainText();// 改为HEX格式QByteArray qtmp tmp.toUtf8(); // 先把QString  转为 QByteArrayqtmp qtmp.toHex(); // QByteArray 类型的数据可以直接转为HEX格式//显示// 注意要先将 QByteArry类型的数据转为QString 类型 才能setTextui-textEditRev-setText(QString::fromUtf8(qtmp));}else{ // 取消勾选把HEX格式 转为基本格式// 获得HEX格式的内容QString tmpHex    ui-textEditRev-toPlainText();//改回基本格式QByteArray tmpArry tmpHex.toUtf8(); // 先将QString 类型转为QByteArry类型QByteArray tmpBase QByteArray::fromHex(tmpArry); // 将HEX类型的数据转换回去//显示ui-textEditRev-setText(QString::fromUtf8(tmpBase));}} 运行结果 实现HEX接收 修改 代码: 接收框显示做 添加特殊判断 -- 是否HEX显示了 if 勾选了HEX显示我们接收的时候就需要使用HEX显示来拼接显示 修改:on_SerialData_readToRead void Widget::on_SerialData_readToRead() {QString recvMessage serialPort-readAll();if(recvMessage ! NULL){qDebug()get Message: recvMessage;if(ui-checkBox_HexDisplay-isChecked()){ // 已经勾选HEX格式// 将新收到的数据转为HEX类型QByteArray tmpHex recvMessage.toUtf8().toHex();// 原来控件上的内容 也转为HEX格式 再拼接QString tmpStrOldui-textEditRev-toPlainText(); //获得接收框的数据tmpHex tmpStrOld.toUtf8() tmpHex; // 不能toHex 已经是Hex了ui-textEditRev-setText(QString::fromUtf8(tmpHex));}else{if(sendTimeStatus){//更新myTimegetSysTime();// 在myTime两边添加方括号// QString myTimeWithBrackets 【 myTime 】;// // 创建一个QString对象首先添加带方括号的myTime然后添加sendData// QString result myTimeWithBrackets QString(recvMessage);// qDebug()result;// ui-textEditRev-append(result);ui-textEditRev-append(【myTime】recvMessage);}else{ui-textEditRev-append(recvMessage);}}readCntTotal recvMessage.size();qDebug()readCntrecvMessage.size();//ui-label_RecvCnt-setNum(readCntTotal);ui-label_RecvCnt-setText(Receive:QString::number(writeCntTotal));} } 运行效果 非HEX显示: HEX显示   添加HEX发送 修改:on_btnSendContext_clicked void Widget::on_btnSendContext_clicked() {// const char * sendData ui-lineEdit_SendContext-text().toStdString().c_str();//QString-String(C)-char*0const char * sendData ui-lineEdit_SendContext-text().toLocal8Bit().constData();int writeCnt 0;//通过串口发送//HEX发送 实现if(ui-checkBox_HexSend-isChecked()){ //if HEX发送被勾选了// 获得发送框内的数据QString tmp ui-lineEdit_SendContext-text();// 判断是否是偶数位QByteArray tmpArry tmp.toLocal8Bit(); // QByteArry类型方便计算位数if(tmpArry.size()%2!0){ui-label_SendStatus-setText(Error Input!);return;}// (逐位)判断是否符合16进制的表达for(char c:tmpArry){if(!std::isxdigit(c)){ //判断c是否符合16进制数的表达ui-label_SendStatus-setText(Error Input!);return;}}//确认可以转为16进制格式转位16进制进行发送// 用户输入1变成1 拒绝变成字符1对应ASCLL 49QByteArray arrySend QByteArray::fromHex(tmpArry);writeCnt serialPort-write(arrySend);}else{ //非HEX发送直接发送 即可writeCnt serialPort-write(sendData);}if(writeCnt - 1){ui-label_SendStatus-setText(SendError!);}else {writeCntTotal writeCnt;qDebug()Send:sendData;qDebug()writeCntwriteCnt;ui-label_SendStatus-setText(SendOK!);//ui-label_SendCnt-setNum(writeCntTotal);ui-label_SendCnt-setText(Send:QString::number(writeCntTotal));if(strcmp(sendData,sendBak.toStdString().c_str())!0){ //只有当数据与上一次不相等的时候我们才会追加到我们的历史发生中ui-textEditRecord-append(sendData);//sendBak QString(sendData);sendBak QString::fromUtf8(sendData);}} } 运行效果 我们先发了一组常规的01 再勾选HEX发送发了一组HEX格式的01输出结果如下: 解读一下: Hex格式30310a01 3031 -- 01 对的ASCLL 0 - 换行 01 - HEX发送的01与HEX显示的接收没有差别 优化HEX显示 修改槽函数on_checkBox_HexDisplay_clicked 优化内容: 大写显示 (每两个数据)空格分开 void Widget::on_checkBox_HexDisplay_clicked(bool checked) {if(checked){ // 吧把格式转为HEX格式显示// 获得 内容QString tmp ui-textEditRev-toPlainText();// 改为HEX格式QByteArray qtmp tmp.toUtf8(); // 先把QString 转为 QByteArrayqtmp qtmp.toHex(); // QByteArray 类型的数据可以直接转为HEX格式//显示// 注意要先将 QByteArry类型的数据转为QString 类型 才能setText//ui-textEditRev-setText(QString::fromUtf8(qtmp));QString lastShow;tmp QString::fromUtf8(qtmp);for(int i0;itmp.size();i2){lastShow tmp.mid(i,2) ; //去tmp第i位往后两个数在加上空格拼接}ui-textEditRev-setText(lastShow.toUpper());}else{ // 取消勾选把HEX格式 转为基本格式// 获得HEX格式的内容QString tmpHex ui-textEditRev-toPlainText();//改回基本格式QByteArray tmpArry tmpHex.toUtf8(); // 先将QString 类型转为QByteArry类型QByteArray tmpBase QByteArray::fromHex(tmpArry); // 将HEX类型的数据转换回去//显示// ui-textEditRev-setText(QString::fromUtf8(tmpBase));ui-textEditRev-setText(tmpBase);}}效果演示
http://www.w-s-a.com/news/161761/

相关文章:

  • 网站编辑做多久可以升职wordpress版权修改
  • 网站开发维护成本计算国外外贸平台
  • 简单的招聘网站怎么做购物网站功能报价
  • 哪个网站做中高端衣服建设自己网站的流程
  • 网站建设概况做网站的是怎么赚钱的
  • 网站发布信息的基本流程现在都不用dw做网站了吗
  • 赣州热门网站深圳龙岗做网站的公司
  • 中国最大的建站平台广告传媒公司取名
  • 深圳网站设计公司专业吗学动漫设计后悔死了
  • 企业网站形象建设网站开发入职转正申请书
  • 网站设计步骤济南建设网中标公告
  • 石佛营网站建设wordpress关健词
  • 您的网站空间即将过期建站 discuz
  • 上海简站商贸有限公司福州哪家专业网站设计制作最好
  • 博客网站开发流程苏州专业做网站的公司哪家好
  • 四川手机网站建设西安 网站 高端 公司
  • 织梦大气绿色大气农业能源化工机械产品企业网站源码模版建筑工程知识零基础
  • 广州番禺网站公司v2017网站开发
  • 微信公众号怎么做微网站wordpress和dz
  • 西部数码网站管理助手 301福州搜索优化实力
  • 响应式网站介绍页面模板功能找不到
  • 公司网站如何seo自己做资讯网站
  • 天津网站建设软件开发招聘企业信用信息查询公示系统上海
  • 网站备案中做正品的网站
  • 网站建设0基础学起青海企业网站开发定制
  • 网站定制项目上海快速建站
  • 大型视频网站建设方案东莞企业网站建设开发
  • 西安php网站制作可以用AI做网站上的图吗
  • 网站开发工程师和前端企业网络推广公司
  • 泉州开发网站的公司有哪些电脑网页翻译