Qt6 QML RegularExpressionValidator 输入中文的坑

本人最近使用Qt6.7.2编译CMAKE项目,主风格qml ,但在用TextField{}时却遇到了问题,

原本要求,编辑框只能输入中文汉字,

一听,很简单嘛,正则表达式:

一看,没毛病,老铁,但是,却达不到想要的效果,编辑框输入时,根本输入不了汉字,会一直报错:

QRegularExpressionPrivate::doMatch(): called on an invalid QRegularExpression object (pattern is '\A(?:^\\u4e00-\\u9fa5+$)\z')

QRegularExpressionPrivate::doMatch(): called on an invalid QRegularExpression object (pattern is '\A(?:^\\u4e00-\\u9fa5+$)\z')

QRegularExpressionPrivate::doMatch(): called on an invalid QRegularExpression object (pattern is '\A(?:^\\u4e00-\\u9fa5+$)\z')

QRegularExpressionPrivate::doMatch(): called on an invalid QRegularExpression object (pattern is '\A(?:^\\u4e00-\\u9fa5+$)\z')..................

这是为何呢?

废话不多说,

原因:QTBUG-116808 QML does not handle regular expression as expected - Qt Bug Tracker

真正可行的是:

regularExpression: /^\\N{U+4e00}-\\N{U+9fa5}+$/

即:

搞定,

看来真正阻碍自己脚步的,并不是远处的高山,而是鞋里的一粒沙子......

相关推荐
小灰灰搞电子15 小时前
Qt 实现魔法导航菜单源码分享
开发语言·qt
Quz17 小时前
QML SpinBox 基础与步长控制:可编辑输入与自定义步长
qt
隐积18 小时前
Qt魔法之旅 · 全系列课程导航
qt
海清河晏11121 小时前
Qt 实战:信号与槽+事件系统
开发语言·c++·qt
郝学胜-神的一滴1 天前
Qt 高级编程 037:QSS按钮样式封神指南
开发语言·c++·qt·软件工程·用户界面
only-lucky1 天前
QML对话框控件
qt
郝学胜_神的一滴1 天前
Qt 高级编程 038:打造高颜值下拉菜单按钮
c++·qt
小灰灰搞电子1 天前
Qt 队列容器 QQueue 的详解与示例
开发语言·qt·qqueue
隐积1 天前
3.1.8.Qt容器大家族(4):QByteArray——字节数组
开发语言·qt