如何在Qt

时间:2016-10-26 03:50:32

标签: c++ qt qt5 qt-creator qregularexpression

我通过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行的括号中插入什么?我没有要求复制和粘贴代码。一些例子(甚至一个很好的解释)可以帮助我,所以我终于完成了我的项目。

1 个答案:

答案 0 :(得分:2)

因为我不知道代码中的数据类型,所以我只写一个简单的示例代码。

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

ui.lineEdit->setValidator(validator);

如果您阅读以下链接,您将被准确理解。

link for ^(caret)

link for *(asterisk)