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

即:

搞定,

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

相关推荐
鄃鳕1 小时前
QSS【QT】
开发语言·qt
全栈开发圈2 小时前
新书速览|OpenCV计算机视觉开发实践:基于Qt C++
qt·opencv·计算机视觉
学习同学4 小时前
设计模式 建造者模式
qt·设计模式·建造者模式
luoyayun3614 小时前
Qt QML实现Windows桌面歌词动态播放效果
qt·qt歌词播放效果
LoveXming7 小时前
Qt工具栏中添加按钮QAction
开发语言·qt
whoarethenext8 小时前
使用c++调用deepseek的api(附带源码)
服务器·开发语言·c++·qt·deepseek
永不停转9 小时前
QT 实现 C++ 数据类与 json 的转换
c++·qt
忒可君14 小时前
QT 5.15 程序打包
开发语言·c++·qt
永不停转16 小时前
借助 QT 的反射机制实现数据类的序列化
c++·qt
musk121216 小时前
qt 配置 mysql 驱动问题:Cannot load library qsqlmysql;QMYSQL driver not loaded
qt·mysql