在qt5, MMM
格式中,以短格式显示月份名称(例如," dec",而不是" 12"或" 12月"),用于西班牙语语言环境,显示缩写的月份名称,例如,以 MMM/dd/yyyy
格式为" 2016年12月25日",显示" dic./25/2016"。
问题是编辑时。要显示一个日期,没关系,因为这是西班牙规则所说的,但不适合编辑。在点之后,我被迫将光标定位在月底,以删除该点,然后在月份的其余时间名称。如果我尝试将光标放在点之前,请仅编辑月份的名称部分,则该字段处于"仅读取"模式。除非我从行的右侧和背面,角色到角色(或仅选择整个月份并删除所有内容),否则我什么都不能删除任何内容。
此外,点没有自动完成。因此,如果用户写新月忘记了点,则该版本被拒绝并退回到原始值。
考虑到所有这些,编辑QDateEdit
有点麻烦(用西班牙语)。
我不知道它是内置的QDateEdit
行为,还是在内部使用QRegExpValidator
,但是在这种情况下,我不知道是什么是Regexp表达式,从而实现它。
简而言之,我该如何"解决"它?(笨拙的版本;对我来说都是可以的,删除点或更改验证)。
QT 5行为是正确的,QT无能为(或不应该做)。ES_ES语言环境中12月的唯一正确且可接受的简短名称是" DIC"。包括落后点。这就是Cldr所说的:
- http://www.unicode.org/cldr/charts/30/summary/es.html#1636
- http://www.unicode.org/cldr/charts/30/verify/dates/es.html