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

即:

搞定,

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

相关推荐
Quz1 小时前
QML Slider 组件:基础滑块、自定义手柄、刻度标记与自定义轨道
qt
dok123 小时前
zynq qt 交叉编译
开发语言·qt
龚建波17 小时前
《QDebug 2026年6月》
qt
△曉風殘月〆19 小时前
如何在Linux中安装Qt开发环境
linux·运维·qt
Quz1 天前
QML 选择控件:Switch、CheckBox 与 RadioButton
qt
熬夜苦读学习1 天前
Qt常用控件
服务器·开发语言·qt
夏玉林的学习之路1 天前
Qt 项目编译错误排查与解决记录
开发语言·qt
Quz2 天前
QML 基础按钮:Button、RoundButton 与 DelayButton
qt
Quz2 天前
QML ToolTip 组件:图标、多行文本与阴影
qt
xcyxiner2 天前
DicomViewer14(读取图像按固定窗宽窗位显示)
qt