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}]+$/

即:

搞定,

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

相关推荐
TechNomad1 小时前
QML开发:QML的第一个程序
qt
浮生卍流年2 小时前
C++模板知识点3『std::initializer_list初始化时逗号表达式的执行顺序』
开发语言·c++·qt
huxiao_060117 小时前
如何手动打包 Linux(麒麟系统)的 Qt 程序
linux·qt
咕噜咕噜啦啦17 小时前
Qt按键响应
开发语言·qt
若水晴空初如梦21 小时前
QT聊天项目DAY17
开发语言·qt
小灰灰搞电子1 天前
Qt 使用QtXlsx库处理Excel文件
qt·excel
刃神太酷啦1 天前
C++ 容器适配器与核心数据结构精解:栈、队列、deque 底层实现与实战应用----《Hello C++ Wrold!》(17)--(C/C++)
java·c语言·数据结构·c++·qt·算法·leetcode
残醉1 天前
QT的UDP
qt·udp
feiyangqingyun1 天前
Qt结合ffmpeg实现图片参数调节/明亮度对比度饱和度设置/滤镜的使用
qt·ffmpeg·明亮度饱和度对比度
程序员编程指南1 天前
Qt 嵌入式 Linux 系统定制全指南
linux·c语言·开发语言·c++·qt