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 打印中文 乱码问题
java·数据库·qt
mark-puls15 小时前
Qt界面布局利器:QStackedWidget详细用法解析
开发语言·qt
执尺量北斗18 小时前
LinkMate 智能会议室系统:基于 Qt / QML / WebRTC / FFmpeg / Whisper / OpenGL 的实时音视频会议平台
qt·ffmpeg·webrtc
共享家95271 天前
QT-常用控件(二)
开发语言·qt
江公望1 天前
Qt QThread使用方法入门浅解
c++·qt
灵性花火1 天前
记录Qt的多个bug
qt·bug
奥特曼狂扁小怪兽1 天前
Qt 自定义无标题栏窗口:FramelessWidget 实现与解析
开发语言·qt
泽虞2 天前
《Qt应用开发》笔记
linux·开发语言·c++·笔记·qt
掘根2 天前
【Qt】绘图
开发语言·qt
ajassi20002 天前
开源 C++ QT QML 开发(十一)通讯--TCP服务器端
c++·qt·开源