как использовать QRegularExpression в Qt

Я искал (невероятное количество времени) через Qt Documentation и некоторую другую документацию онлайн, но я не могу получить ответ.

Я использую QLineEdit, который будет принимать «имя класса C ++» (это означает, что он должен принимать только [a-b] (<- также в верхнем регистре), [0-9] и подчеркивание (_). Независимо от того, как (вслепую) я пытаюсь настроить это, это не работает.

1 m_classDefLayout->addRow("Class Name",m_className);
2 m_className->setValidator(m_nameValidator);
3 m_nameValidator->setRegularExpression(*m_nameRegExp);
4 //m_namePattern=();
5 m_nameRegExp->setPattern(m_namePattern);

Что мне вставить в скобки в строке 4? Я не прошу код для копирования и вставки. Некоторые примеры (даже один хорошо объясненный) могут помочь мне, поэтому я наконец закончу свой проект.

0

Решение

Поскольку я не знаю тип данных в вашем коде, я просто пишу простой пример кода.

QRegularExpression rx("^[A-Za-z_][A-za-z0-9]*");
QValidator *validator = new QRegularExpressionValidator(rx, this);

ui.lineEdit->setValidator(validator);

Если вы прочтете ссылку ниже, вас точно поймут.

ссылка для ^ (каретка)

ссылка для * (звездочка)

2

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

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

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