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

C++ Qt练习项目 QChar功能测试

个人学习笔记

代码仓库

GitCode - 全球开发者的开源社区,开源代码托管平台

新建项目

设计UI

1、拖入group box去掉名字

2、拖入2个LineEdit

3、拖入两个Label

4、拖入两个PushButton

5、点栅格布局

1、拖入GroupBox

2、拖入4个PushButton

3、点栅格布局

1、拖入GroupBox,改名为”显示结果“

2、拖入plainTextEdit

3、点栅格布局

4、拖入GroupBox,改名为”QChar特性判断“

5、拖入9个CheckBox

6、点栅格布局

实现UI功能

在按钮“每个字符的Unik”上右键 “转到槽”—— 点击”clicked“

生成函数

在widget.cpp中编写代码

void Widget::on_btnGetChars_clicked()
{QString str=ui->editStr->text();if(str.isEmpty()) return;for(qint16 i=0;i<str.size();i++){QChar ch=str.at(i);char16_t uniCode=ch.unicode();QString chStr(ch);QString info=chStr+QString::asprintf("\t,Unicode编码=0x%X",uniCode);ui->plainTextEdit->appendPlainText(info);}
}

编辑清空文本功能,在widget.cpp中编写代码

void Widget::on_btnClear_clicked()
{ui->plainTextEdit->clear();
}

“单个字符特性判断”功能编写

void Widget::on_btnCharJudge_clicked()
{QString str=ui->editChar->text();if(str.isEmpty()) return;QChar ch = str.at(0);char16_t uniCode=ch.unicode();QString chStr(ch);QString info=str+QString::asprintf("\t,Unicode编码=0x%X",uniCode);ui->plainTextEdit->appendPlainText(info);ui->chkDigit->setChecked(ch.isDigit()); // 是否为数字1-9ui->chkLetter->setChecked(ch.isLetter()); // 是否为字母ui->chkLetterOrNumber->setChecked(ch.isLetterOrNumber()); // 是否为字母或数字ui->chkUpper->setChecked(ch.isUpper()); // 是否为大写ui->chkLower->setChecked(ch.isLower()); // 是否为小写ui->chkMark->setChecked(ch.isMark()); // 是否为符号ui->chkSpace->setChecked(ch.isSpace()); // 是否为空白符ui->chkSymbol->setChecked(ch.isSymbol()); // 是否为符号ui->chkPunct->setChecked(ch.isPunct()); // 是否为标点符号
}

实现“与Latin1的转换”的功能

void Widget::on_btnConvLatin1_clicked() // 替换字符串
{QString str = "Dimple";ui->plainTextEdit->appendPlainText(str);QChar chP='p'/*QChar('p')*/;str[0]=chP;ui->plainTextEdit->appendPlainText("\n"+str);}

实现“与UTF-16的转换”按钮功能

void Widget::on_btnConvUTF16_clicked()
{QString str = "Hello,北京";ui->plainTextEdit->appendPlainText(str);QString qb = "青岛";str[6]=qb.at(0)/*QChar(0x9752)*/; // 北京换成青岛str[7]=QChar(0x5C9B);ui->plainTextEdit->appendPlainText("\n"+str);
}

实现“QChar比较和替换”功能

void Widget::on_btnCompare_clicked()
{QString HuStr = "河to湖";QChar He = QChar::fromUcs2(HuStr[0].unicode());QChar Hu = QChar(HuStr[3].unicode());QString str = "他们来自河南或河北";ui->plainTextEdit->appendPlainText(str);for(int i=0;i<str.size();i++){if(str.at(i)==He)str[i]=Hu;}ui->plainTextEdit->appendPlainText("\n"+str);
}

最终呈现

 学习视频:

4.3.2QChar功能测试demo_哔哩哔哩_bilibili


http://www.mrgr.cn/news/82916.html

相关文章:

  • Java-数据结构-链表-高频面试题(1)
  • 现代谱估计的原理及MATLAB仿真(二)(AR模型法、MVDR法、MUSIC法)
  • (三)通过WebGL绘制一个简单的三角形来理解渲染管线
  • 【Vue.js】监听器功能(EventListener)的实际应用【合集】
  • 随机梯度下降(SGD)算法的深度剖析与应用探索
  • 数据挖掘教学指南:从基础到应用
  • 尚硅谷· vue3+ts 知识点学习整理 |14h的课程(持续更ing)
  • aardio —— 虚表 —— 模拟属性框
  • 安卓OCR使用(Google ML Kit)
  • 【华为OD机试E卷C卷D卷】跳马【C++/Java/Python】
  • Python应用指南:高德交通态势数据(一)
  • java 核心知识点——基础知识
  • 群论学习笔记
  • 关于大一上的总结
  • 【Linux】sed编辑器
  • Functions
  • 高效工作流:用Mermaid绘制你的专属流程图;如何在Vue3中导入mermaid绘制流程图
  • SQL编程语言
  • Postman接口测试05|实战项目笔记
  • 进程件通信——网络通信——TCP
  • unity-入门查漏补缺0.2.03.10
  • 计算机网络学习
  • 【算法】算法初步
  • 在ComfyUI的python_embeded下编译安装module
  • Python数据可视化-Pandas绘图
  • Postman接口测试01|接口测试基础概念、http协议、RESTful风格、接口文档