1

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

4

1 回答 1

3

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

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

ui.lineEdit->setValidator(validator);

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

^(插入符号)的链接

*(星号)的链接

于 2016-10-26T04:40:53.933 回答