Qt QWizard学习 当需要验证输入时

下文主要讨论当使用QWizard时,需要验证当前向导页所输入内容,如果不符合要求,则设置下一步按钮为不可用。具体实现如下:

1.首先在firstWidget构造函数中利用正则表达式对要输入的文本框进行限制:
//构造正则表达式
QRegExp regexp("[1-9][0-9]*$");
QRegExpValidator * pValidator = new QRegExpValidator(this);
pValidator->setRegExp(regexp);
ui->m_pLineEdit->setObjectName("test_lineEdit")
ui->m_pLineEdit->setValidator(pValidator);
2.在重写的WizardPage的构造函数中获取上面设置的QLineEdit,并注册:
m_pFirstWidget = new firstWidget(this);
QLineEdit * pLineEdit = m_pFirstWidget->findChild("test_lineEdit");
//注册,其中num后加*号表示必填,正确输入后,才能下一步
registerField("num*", pLineEdit);
3.最终完成时读取数据则用如下方法:
m_Num = field("num").toString();
完整代码点击此处

你可能感兴趣的:(学习,C++,qt,qt,正则表达式)