Я искал (невероятное количество времени) через 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? Я не прошу код для копирования и вставки. Некоторые примеры (даже один хорошо объясненный) могут помочь мне, поэтому я наконец закончу свой проект.
Поскольку я не знаю тип данных в вашем коде, я просто пишу простой пример кода.
QRegularExpression rx("^[A-Za-z_][A-za-z0-9]*");
QValidator *validator = new QRegularExpressionValidator(rx, this);
ui.lineEdit->setValidator(validator);
Если вы прочтете ссылку ниже, вас точно поймут.
Других решений пока нет …