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】使用QSS进行界面美化
开发语言·qt
EutoCool18 小时前
Qt窗口:QToolBar、QStatusBar、QDockWidget、QDialog
开发语言·数据库·c++·嵌入式硬件·qt·前端框架
惺忪979820 小时前
qt 正则表达式
开发语言·qt
枫叶丹421 小时前
【Qt开发】Qt的背景介绍(一)
开发语言·qt
new_zhou1 天前
QT5使用cmakelists引入Qt5Xlsx库并使用
开发语言·qt·qxlsx
笨笨马甲1 天前
Qt 3D模块加载复杂模型
开发语言·qt·3d
赟赟、嵌入式1 天前
imx6ul Qt运行qml报错This plugin does not support createPlatformOpenGLContext!
开发语言·qt
EutoCool1 天前
Qt窗口:菜单栏
开发语言·c++·嵌入式硬件·qt·前端框架
云空2 天前
《QtPy:Python与Qt的完美桥梁》
开发语言·python·qt·pyqt
墨月白2 天前
【QT】多线程相关教程
数据库·qt