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<QLineEdit* >("test_lineEdit");
//注册,其中num后加*号表示必填,正确输入后,才能下一步
registerField("num*", pLineEdit);

3.最终完成时读取数据则用如下方法:

m_Num = field("num").toString();

完整代码点击此处

猜你喜欢

转载自blog.csdn.net/bear_861110453/article/details/77943716