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

即:

搞定,

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

相关推荐
逆枫゛42 分钟前
Qt6相对Qt5的主要提升(AI总结)
开发语言·qt
程序员老舅2 小时前
Qt跨平台文件传输系统开发全解:TCP/IP协议+多线程架构
qt·网络协议·计算机毕设·文件传输·qt项目·qt项目实战·计算机毕设项目
დ旧言~10 小时前
【Qt】QDialog对话框
qt
Antonio91510 小时前
【Q&A】观察者模式在QT有哪些应用?
开发语言·qt·观察者模式
m0_4902406711 小时前
qt实现一个简单http服务器和客户端
服务器·qt·http
Antonio91511 小时前
【Q&A】组合模式在Qt有哪些应用?
qt·设计模式
※※冰馨※※17 小时前
【QT】Qt creator快捷键
开发语言·qt
You can do more17 小时前
Qt 隐式共享
开发语言·qt
laimaxgg17 小时前
Qt窗口控件之浮动窗口QDockWidget
开发语言·c++·qt·qt5·qt6.3
爱吃馒头爱吃鱼20 小时前
Qt在ARM中,如何使用drmModeObjectSetProperty 设置 Plane 的 zpos 值
开发语言·arm开发·qt