我正在验证我的TextBox只能使用1-75之间的数字.我可以使用下面的代码来做到这一点:
QValidator *validator = new QIntValidator(1, 75, this);
QLineEdit *edit = new QLineEdit(this);
edit->setValidator(validator);
Run Code Online (Sandbox Code Playgroud)
但现在问题是它也需要零.我想避免零任何帮助表示赞赏.
ale*_*sdm 11
您当前没有验证:当您设置a时,QValidator您只是将字符过滤到可以组成有效输入的字符.
为了进行实际验证,您必须检查QLineEdit::hasAcceptableInput()返回true.
例如,在连接到textChanged()信号的插槽中,您可以根据acceptableInput属性的值启用/禁用提交数据的按钮,防止用户进一步使用无效值,和/或更改文本颜色(红色表示无效).
对于数值,您也可以使用a QSpinBox代替QLineEdit.您可以定义其范围(最小/最大),以及在编辑完成(有QSpinBox::setCorrectionMode)时该值无效的行为.
| 归档时间: |
|
| 查看次数: |
14708 次 |
| 最近记录: |