qlineedit设置只能输入数字_Axure输入框设置输入数字的限制

我们在用Axure制作原型的时候,经常会使用到一个部件就是——文本框部件。文本框和多行文本框(也叫文本域),是我们制作需要用户填写的功能时使用的部件。

但是在Axure里面文本框的设置存在一些缺陷,让很多朋友在做原型的时候遇到一些困难。比如今天我们一起来看的这个小小的限制功能:如何文本框只能输入数字。

大家可能会想到的一个方法是,设置文本框的类型为数字(number)就可以了,当然,这是一种设置方法。

ba5219a3a8b70eb9a240513fa816988d.png

这种设置方法简单,但是也存在一定的缺定。

1、在输入内容之前就已经完全禁止输入,所有看不到自己输入的内容是什么(数字除外)

2、在文本框的右侧有按钮可以对数字进行增减。

a0e76f2e78006ff6676ec63313c05746.png

如果前面的设置方法做的并不是我们想要的效果的话,我们就必须另外想办法达到我们的要求。常规的办法不行,我们就要考虑用交互设置的方法来制作。

当然,输入的内容分为数字和非数字两种,所以我们需要设置用例条件。如果输入的内容是数字的话,就让文本框的内容等于我们输入的内容;如果输入的内容不是数字的话,就让文本框的内容等于0,也就是空值。

只是这样就够了吗?还没有。

因为这里存在着二次输入的情况,也就是第一次输入数字,在接着输入的时候可能是数字一位的内容。像这样:

216e019c7964060bbd7decf564bc3147.png

所以我们的事件不能简单的设置在“文本改变时”,而是需要设置在“按键松开时”,在每一次按键松开时都做一次判断。

那么问题又来了,不是一次输入完成的内容,我们怎么判断呢?我们需要借助全局变量,把输入的内容用全局变量保存起来,然后再结合用例条件去设置。把全局变量的初始值设置为空,如果文本框输入的内容是数字的话,就让全局变量等于文本框的值。

fda2da7e6e069307e30750ca8cfcb9c2.png

这时,全局变量的值为“11”。如果我在11的后面再输入不是数字的内容。这时设置文本框的值等于全局变量的值,也就是刚才保存下来的“11”,所以就达到了不能输入数字以外的内容的效果。

8897205e443da840b79b8170a7bd264d.png

如果不输入了,把文本框内容清空掉了,就将全局变量的值设置为空值即可。这样在下次输入的时候又会开始新一轮的条件判断了。

这个方法也可以用在其他的输入内容的类型设置上,或者文字的判断上。掌握了方法之后我们就可以将它灵活应用,解决我们工作中的很多问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值