Qt5: формат даты MMM, на испанском языке, удалить точку

88
8

В Qt5 формат MMM, который отображает имя месяца в коротком формате (например, "Dec" вместо "12" или "December"), при использовании его для испанского языка показывает сокращенное название месяца с точкой в конец, например, для "25 декабря 2016 года", в формате MMM/dd/yyyy, показывает "Dic./25/2016".

Проблема заключается в редактировании. Для отображения даты, это нормально, поскольку это то, что говорят испанские правила, но оно не подходит для редактирования. Я вынужден поместить курсор сразу после точки, в конце части месяца, чтобы удалить точку, а затем остальное название месяца. Если я попытаюсь поместить курсор непосредственно перед точкой, чтобы отредактировать только часть имени месяца, это поле находится в режиме "только для чтения". Я ничего не могу удалить, если я не удалю все, начиная с самого права линии и обратно, от персонажа до персонажа (или просто отбираю всю месячную часть и удаляю все).

Кроме того, точка не автозаполняется. Итак, если пользователь пишет новый месяц, забывая о точке, издание отклоняется и возвращается к исходному значению.

Принимая во внимание все это, редактирование QDateEdit немного громоздко (на испанском языке).

Я не знаю, является ли это встроенным поведением QDateEdit или внутренне используется QRegExpValidator, но в этом случае я не знаю, что это выражение регулярного выражения, чтобы персонализировать его из него.

Короче говоря, как я могу "решить" его? (громоздкое издание, это нормально для меня обоих, удаление точки или изменение проверки).

спросил(а) 2021-01-25T15:35:50+03:00 4 месяца, 2 недели назад
1
Решение
63

Поведение Qt 5 правильное, и ничего не может сделать Qt (или должен делать). Единственное правильное и приемлемое короткое название декабря в локали es_ES - "dic.", Включая конечную точку. Что говорит CLDR:

ответил(а) 2021-01-25T15:35:50+03:00 4 месяца, 2 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема