目录
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.
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());
}