【C++ QT】QString字符串操作(一)

1.QString简介

QT中有一个类QString用于字符串操作,它存储的是一串字符,每个字符是一个QChar类型的数据。

1.1.QString字符串的创建和初始化

例如定义一个QString对象str。并且初始化其字符串内容为“Hello world”.

QString str = "Hello world";

1.2.QString字符串的索引

"Hello world"是C语言标准的const char *类型的字符串,以“\0”作为结束符。QString会将这个数据类型转换成UTF-16编码的字符串。

QString str = "dimple,酒窝";
QChar ch0 = str[0];
QChar ch7 = str.at(7);

在QString字符串中,每个字符类型都是QChar,所以上面这段代码里,ch0是字符“d”,ch7是字符“酒”。

2.QChar的功能

函数原型功能
bool isDigit()判断字符是否为0~9的数字
bool isLetter判断字符是否为字母
bool isLower判断字符是否为小写字母
bool isPunch判断字符是否为标点符号
bool isSymbol判断字符是否为符号,如特殊符号※
等等

3.QChar主要功能测试

首先窗口基类选择QWidget.
图1

3.1获取字符的Unicode编码

初步的UI设计为这样:
在这里插入图片描述

3.1.1获取输入字符的unicode编码

void Widget::on_everycode_button_clicked()
{
    QString str= ui->every_text->text(); //读取输入的字符串
    if(str.isEmpty())
        return;
    ui->show_window->clear();
    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->show_window->appendPlainText(info);
    }
}

这些代码就是实现获取输入所有字符unicode。
在这里插入图片描述

3.1.2 判断QChar字符特性

void Widget::on_sigle_button_clicked()
{
    QString str = ui->signl_text->text();
    if(str.isEmpty())return;
    ui->show_window->clear();
    QChar ch = str[0];
    char16_t unicode= ch.unicode();
    QString chStr(ch);
    QString info = chStr+ QString::asprintf("\t,Unicode编码= 0x%X",unicode);
    ui->show_window->appendPlainText(info);
    ui->check_Digit->setChecked(ch.isDigit());
    ui->checkLower->setChecked(ch.isLower());
    ui->checkPunct->setChecked(ch.isPunct());
    ui->checkUpper->setChecked(ch.isUpper());
    ui->check_Letter->setChecked(ch.isLetter());
    ui->checkSpace->setChecked(ch.isSpace());
    ui->check_LetterOrNumber->setChecked(ch.isLetterOrNumber());

}

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值