Qt单个字符判断

news2024/11/30 0:38:57

1.相关说明

字符的Unicode编码、单个字符的判断

2.界面绘制

3.相关主要代码

#include "widget.h"
#include "ui_widget.h"

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
}

Widget::~Widget()
{
    delete ui;
}

// 每个字符的Unicode
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);
    }
}

// 清空文本框
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 info = str + QString::asprintf("\t, Unicode编码=0x%X", uniCode);
    ui->plainTextEdit->appendPlainText(info);
    ui->checkDigit->setChecked(ch.isDigit());   // 是否为数字 0~9
    ui->checkLetter->setChecked(ch.isLetter()); // 是否为字母
    ui->checkLetterOrNum->setChecked(ch.isLetterOrNumber()); // 是否位数字或字母
    ui->checkUpper->setChecked(ch.isUpper());   // 是否为大写字母
    ui->checkLower->setChecked(ch.isLower());   // 是否为小写字母
    ui->checkMark->setChecked(ch.isMark());     // 是否为字符
    ui->checkSpace->setChecked(ch.isSpace());   // 是否为空白字符
    ui->checkSymbol->setChecked(ch.isSymbol()); // 是否为符号
    ui->checkPunct->setChecked(ch.isPunct());   // 是否为标点符号
}

// 与Latin1的转换
void Widget::on_btnCvtLatin_clicked()
{
    QString str = "Dimple";
    ui->plainTextEdit->appendPlainText(str);
    QChar ch = QChar('P');
    str[0] = ch;
    ui->plainTextEdit->appendPlainText("\n"+str);
}

// 与UTF-16的转换
void Widget::on_btnUtfCvt_clicked()
{
    QString str = "Hello,北京";
    ui->plainTextEdit->appendPlainText(str);
    QString cd = "成都";
    str[6] = cd.at(0);
    str[7] = cd.at(1);
    ui->plainTextEdit->appendPlainText("\n" + str);
}

// QChar比较和替换
void Widget::on_btnCharCmpCvt_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[i] == He){
            str[i] = Hu;
        }
    }
    ui->plainTextEdit->appendPlainText("\n"+str);
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1392169.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Windows 下 PYQT开发环境的搭建:

(1)环境搭建&#xff1a; PYQT 安装包&#xff1a; Anaconda&#xff1a; Anaconda3-2023.09-0-Windows-x86_64 pycharm&#xff1a; pycharm 2019.3 下载包&#xff1a; Anaconda:下载成功 |蟒蛇 (anaconda.com) pycharm: pycharm安装包_pycharm用copilotchat资源-CSD…

如何提高问卷填写率:有效策略与技巧分享

解决了调查问卷制作这个难题&#xff0c;怎么让更多的人填写又是一个让人头大的难题。 那有什么好的方式可以帮助我们尽可能地让更多的人填写问卷额&#xff0c;我整理了以下方法&#xff1a; 1、调查问卷尽可能做的美观一些。 设想一下&#xff0c;如果我们是填写者&#xff…

代码随想录算法训练营第五天 | 242.有效的字母异位词、349.两个数组的交集、202.快乐数、1.两数之和

代码随想录算法训练营第五天 | 242.有效的字母异位词、349.两个数组的交集、202.快乐数、1.两数之和 文章目录 代码随想录算法训练营第五天 | 242.有效的字母异位词、349.两个数组的交集、202.快乐数、1.两数之和1 哈希表理论基础1.1 哈希表的内部实现原理1.2 哈希函数1.3 哈希…

链表练习 Leetcode 61.旋转链表

给你一个链表的头节点 head &#xff0c;旋转链表&#xff0c;将链表每个节点向右移动 k 个位置。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5], k 2 输出&#xff1a;[4,5,1,2,3]示例 2&#xff1a; 输入&#xff1a;head [0,1,2], k 4 输出&#xff1a;[2,0,1]…

什么是小红书seo,家居品牌关键词攻略

在如今移动互联网时代&#xff0c;媒介投放已经成为企业进行品牌传播的重要手段之一&#xff0c;这其中就小红书来说&#xff0c;其以其独特的内容方式和用户粘性而受到广大用户的喜爱。今天我们来针对大家都不陌生的seo&#xff0c;来说说什么是小红书seo&#xff0c;家居品牌…

HarmonyOS应用开发者初级认证试题库(鸿蒙)

目录 考试链接&#xff1a; 流程&#xff1a; 选择&#xff1a; 判断&#xff1a; 单选&#xff1a; 多选&#xff1a; 考试链接&#xff1a; 开发者能力认证-职业认证-鸿蒙能力认证-华为开发者学堂 (huawei.com)https://developer.huawei.com/consumer/cn/training/dev-…

Vue 如何把computed里的逻辑提取出来

借用一下百度的ai 项目使用&#xff1a; vue 文件引入 <sidebar-itemv-for"route in routes":key"route.menuCode":item"route":base-path"route.path"click"onColor"/>import { handleroutes } from "./handle…

Ceph分布式存储(1)

目录 一.ceph分布式存储 Ceph架构&#xff08;自上往下&#xff09; OSD的存储引擎&#xff1a; Ceph的存储过程&#xff1a; 二. 基于 ceph-deploy 部署 Ceph 集群 20-40节点上添加3块硬盘&#xff0c;一个网卡&#xff1a; 10节点为admin&#xff0c;20-40为node&…

智慧公厕:打造智慧城市公共厕所信息化管理的新升级

在现代社会中&#xff0c;随着科学技术的不断进步与应用&#xff0c;智慧公厕作为公共服务设施&#xff0c;正迎来一次新的升级与革新。利用先进技术&#xff0c;智慧公厕实现了信息化升级&#xff0c;能够实时监测人员、环境和设备状况&#xff0c;提高使用效率、安全性、舒适…

C++ mapset

目录 相关知识介绍&#xff1a; 一、set 1、set的介绍 2、set的使用 1. set的模板参数列表 2. set的构造 3. set的迭代器 4. set的容量 5. set修改操作 6. 举例演示 二、multiset 1、multiset的介绍 2、multiset的使用 三、map 1、map的介绍 2、map的使用 1.…

用VSCode玩STM32的烧录工具 CooCox Cortex Flash Programmer

一、下载软件 经热心兄弟推荐的版本&#xff0c;不知道有没有版权&#xff0c;如有版权问题&#xff0c;请通知删除。 CSDN - 0积分下载&#xff1a;https://download.csdn.net/download/qq_49053936/88744187 二、生成bin文件 插件不同&#xff0c;方法有所不同&#xff0c;各…

IntelliJ IDEA使用学习

一、安装教程 网上自行下载&#xff0c;CSDN不然过审二、使用教程 2.1 快捷键操作与设置 设置 Setting——>按键映射——>选择顺手的系统快捷键 编写代码 CtrlShift Enter&#xff0c;语句完成。 “&#xff01;”&#xff0c;否定完成&#xff0c;输入表达式时按 …

vscode mysql cmake windows 常见问题和推荐文章

1.在windows中安装mingw64和cmake&#xff08;可查一下网上的安装教程&#xff09;&#xff0c;配置环境变量 2.在vscode中用CMake构建项目的时候&#xff0c;可能会出现这样的问题:“The C compiler identification is unknownn...”,可参考这篇博客 在windows下使用Vscode用…

高光谱分类论文解读分享之HybridSN:基于 3-D–2-D CNN 的高光谱分类(经典回顾)

IEEE GRSL 2019&#xff1a;HybridSN&#xff1a;基于 3-D–2-D CNN 的高光谱分类 题目 HybridSN: Exploring 3-D–2-D CNN Feature Hierarchy for Hyperspectral Image Classification 作者 Swalpa Kumar Roy, Student Member, IEEE, Gopal Krishna, Shiv Ram Dubey , Mem…

【USTC】verilog 习题练习 21-25

21 基于端口名称的实例化 题目描述 创建一 verilog 电路&#xff0c;实现对模块 mod_a 基于端口名称的实例化&#xff0c;如下图所示&#xff1a; 其中mod_a模块的代码为&#xff1a; module mod_a (output out1,output out2,input in1,input in2,input in3,in…

K8S--service

一、简介 Service 是将集群中的 一个或一组 Pod应用程序公开为网络服务的方法。我们都知道pod是不稳定的,有可能时时刻刻都在创建和销毁,这一时刻运行的 Pod 集合可能不同于下一刻运行该应用的 Pod 集合,并且新创建的pod的ip地址会改变,所以我们不应该寄期望于pod的稳定性…

2024最新PyQt5及其工具(Qt Designer、PyUIC、PyRcc)手把手操作实践指南

2024最新PyQt5及其工具&#xff08;Qt Designer、PyUIC、PyRcc&#xff09;手把手操作实践指南 前言 最近做了一些个人项目&#xff0c;内部逻辑还是挺多的&#xff0c;而且也有想要开源的想法&#xff0c;但是总不能直接把源码端给大家直接运行&#xff0c;有一些需求还有萌…

第三届iEnglish全国ETP大赛展现教育游戏新趋势

随着社会步入数字化纪元,游戏作为信息交流和传播的重要载体,在教育领域的潜能日益凸显。特别是寓教于乐的“教育游戏”学习方式让更多家长和孩子体验到“玩中学,学中玩”的乐趣,在教育领域的潜能也日益凸显。 本周五(1月19日)晚上7点,国内首个教育游戏赛事、以“玩转英语,用iE…

私域运营的关键:如何确保你的努力能转化为销售成果?

群发掉粉&#xff0c;不群发就没有业绩。 不知道你是否感到尴尬&#xff0c;但我们销售团队确实遇到了这个问题&#xff01; 私域运营似乎等同于做流量和群发广告&#xff0c;但这种方法似乎有些问题&#xff0c;而且大多数运营人员找不到更好的解决方案。 特别是当业绩不佳…

git项目管理

Git工作流程图 git 基础指令 git init #创建本地仓库,创建成功后&#xff0c;当前目录会多一个.git文件夹 git status #查看修改状态 git add . #添加工作区到暂存区 git commit -m 注释内容 #提交暂存区到本地仓库&#xff08;commit&#xff09; git log …