Я новичок в QML и Qt Quick, всего лишь 5 дней назад, что я узнал о них.
Я хотел иметь RegExpValidator для TextInput разделенных запятыми слов, общая длина входной строки разрешена с 1-2500.QML RegExpValidator максимальная длина строки для проверки
import QtQuick 2.2
Rectangle {
width : 100
height : 50
Text {
id : label
text: "Enter words"
}
TextInput {
anchors {
topMargin : 5
top : label.bottom
}
focus: true
validator: RegExpValidator { regExp: /[a-zA-Z,]{1,2500}/ }
}
}
- это мой файл RegExpValidator_example.qml, который не принимает никаких данных.
Методом проб и ошибок я выяснил, что верхний предел для длины РегВыр 1024
что,
validator: RegExpValidator { regExp: /[a-zA-Z,]{1,1024}/ }
работает, но
validator: RegExpValidator { regExp: /[a-zA-Z,]{1,1025}/ }
нет. Так что я нашел еще один способ:
maximumLength: 2500
validator : RegExpValidator { regExp : /[a-zA-Z,]{1,}/ }
Я попытался найти в документацию QML для упоминания верхнего предела, но безрезультатно. Неужели я действительно не искал, или это ошибка?
Благодарим за обращение к исходному коду. Я сообщил об этой проблеме в Qt Bug Tracker: https://bugreports.qt.io/browse/QTBUG-49319 – abcoep
Ну, я открыл вопрос с просьбой документировать лимит, а не изменять его. :-) – skypjack
Он может проверять строки длиной более 1024. Так зачем же ограничивать? – abcoep