regex — Qt C ++: редактирование строки принимает только буквенно-цифровые символы, тире и подчеркивание

Я ищу способ ограничить редактирование строки, чтобы принимать только буквенно-цифровые символы, тире и подчеркивание (во всей строке может быть только один тире и одно подчеркивание), без пробелов. Я смотрел на RegExp, но затем я оставил эту опцию, потому что я нашел сообщение в блоге, которое объясняет, что RegExp действительно медленный. Теперь я не знаю, как лучше ограничить редактирование строки, поэтому вывод будет таким, как я хочу.

Что вы мне порекомендуете?

1

Решение

Вы должны прочитать документацию по функции QLineEdit :: setValidator и документацию по классу QValidator. Вы можете определить свой собственный класс валидатора (который наследует QValidator) и передать его экземпляр объекта в объект QLineEdit (используя функцию setValidator).

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]