实现
QChar转换为Unicode,判断数字、字母、符号、标点等
#include "widget.h"
#include "ui_widget.h"
#include "QMessageBox"
widget::widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::widget)
{
ui->setupUi(this);
}
widget::~widget()
{
delete ui;
}
void widget::on_btnChar_clicked()
{
QString str= ui->txtChar->text();
if(str.isEmpty()){
QMessageBox::warning(this,"警告",tr("请输入单个字符!"));
return;
}
QChar ch =str[0];
char16_t uniCode= ch.unicode();// Qchar 转为Unicode
QString chStr(ch);
QString info = chStr +QString::asprintf("\t,Unicode编码=0x%X\n",uniCode);
ui->plainTextEdit->appendPlainText(info);
ui->chkDigit->setChecked(ch.isDigit());
ui->chkLetter->setChecked(ch.isLetter());
ui->chkLetterOrNumber->setChecked(ch.isLetterOrNumber());
ui->chkUpper->setChecked(ch.isUpper());
ui->chkMark->setChecked(ch.isMark());
ui->chkLower->setChecked(ch.isLower());
ui->chkSpace->setChecked(ch.isSpace());
ui->chkSymbol->setChecked(ch.isSymbol());
ui->chkPunct->setChecked(ch.isPunct());
}
结果