我通过Qt文档和其他一些在线文档搜索(花了不可思议的时间),但我无法得到答案。
我正在使用QLineEdit,它将采用" C ++类名称" (这意味着它应该只接受[ab](< -uppercase),[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 :(得分:2)
因为我不知道代码中的数据类型,所以我只写一个简单的示例代码。
QRegularExpression rx("^[A-Za-z_][A-za-z0-9]*");
QValidator *validator = new QRegularExpressionValidator(rx, this);
ui.lineEdit->setValidator(validator);
如果您阅读以下链接,您将被准确理解。