У меня есть QT QRegExpValidator
(RegExpValidator
в QML), который ограничивает ввод текста только буквенно-цифровым содержимым.
Однако, когда пользователи вставляют строки в мой TextField
, иногда эти строки заканчиваются символом новой строки, который не проходит проверку, и поэтому строка никогда не вставляется.
Я читал, что реализация метода fixup
дает вам возможность очистить строки, чтобы они правильно работали с валидатором. Однако при вставке это не работает - строки по-прежнему не вставляются.
Как мне заставить это работать так, как я хочу?
Мой код выглядит следующим образом:
LoginValidator { id: alphaNumValidator; regExp: /(?:[0-9A-Za-z])+$/ }
А реализация LoginValidator
такова:
class LoginValidator : public QRegExpValidator
{
Q_OBJECT
public:
virtual void fixup(QString &input) const override
{
input = input.simplified().remove(' ');
}
};
regExp
принимает - person horseyguy   schedule 10.04.2019