• 10829阅读
  • 11回复

请教LineEdit内数字范围限制的成员函数 [复制链接]

上一主题 下一主题
离线nana_aoe
 

只看楼主 正序阅读 楼主  发表于: 2010-12-29
我使用一个LineEdit做为数字输入窗口,但是现在输入的数据是有范围限制的,比如说,我把范围设置为0~255,就类似于IP地址的设置一样,不允许用户设置超出这个范围的值,不需要弹窗提示,直接就不让用户写上去,可有这样的成员函数?我看了很长的时间,没有发现这样的成员函数,QT中有吗?如果使用是不是要自己写控件啊?
离线jdwx

只看该作者 11楼 发表于: 2010-12-31
引用第10楼xtfllbl于2010-12-31 13:46发表的  :
QRegexp 正则表达式可以满足你


好!
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线xtfllbl

只看该作者 10楼 发表于: 2010-12-31
QRegexp 正则表达式可以满足你
上海欢迎您
离线roywillow

只看该作者 9楼 发表于: 2010-12-31
setButtonSymbols(QAbstractSpinBox::NoButtons)
可以隐藏旁边的箭头
至于最初显示为空白好像还真不好弄

如果用LineEdit的话,干脆翻SpinBox的源码找到他的检验器是怎么写的然后挪过来应该就可以了吧
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线dbzhang800

只看该作者 8楼 发表于: 2010-12-31
Re:回 3楼(roywillow) 的帖子
引用第7楼nana_aoe于2010-12-31 10:14发表的 回 3楼(roywillow) 的帖子 :
在使用的过程中还有两个小问题,
第一个 , 请问一下,隐藏箭头的成员函数是哪个?我看了好一阵,没找到。
第二个,我设置了spinbox范围之后,打开界面的他自动初始化为最小值,现在我想要的最佳结果是为空,当编辑的时候再进行数据校验。

http://hi.baidu.com/cyclone/blog/item/663709236315e95e925807d1.html
离线nana_aoe

只看该作者 7楼 发表于: 2010-12-31
回 3楼(roywillow) 的帖子
在使用的过程中还有两个小问题,
第一个 , 请问一下,隐藏箭头的成员函数是哪个?我看了好一阵,没找到。
第二个,我设置了spinbox范围之后,打开界面的他自动初始化为最小值,现在我想要的最佳结果是为空,当编辑的时候再进行数据校验。
离线nana_aoe

只看该作者 6楼 发表于: 2010-12-31
回 3楼(roywillow) 的帖子
很好,很强大,我初入Qt,刚将spinbox控件设置一下,完全符合我的要求,并且省去了,数字到QString再到数字的转换,非常棒。。
非常感谢roywillow的帮助,
离线nana_aoe

只看该作者 5楼 发表于: 2010-12-31
回 3楼(roywillow) 的帖子
非常感谢你的回复,
你的想法很好,我去试一下,
我还有个问题想请教一下。
editingfinished()
代码如下
connect(lineEdit1,SIGNAL(editingfinished()),this,SLOT(print()));
。。。
我的print()
{
printf(“that is ok”);
}
当我改变焦点从lineEdit1 到lineEdit2时,不能马上执行print函数,而是当我关闭窗口时才能打印,我是运行的可执行程序,在终端打印的,
只看该作者 4楼 发表于: 2010-12-30
没有.
自己利用lineedit的信号,自己做个槽来限制大小.

每次文本内容改变时,判断内容长度,超过20个,就把最后一个删掉.
离线roywillow

只看该作者 3楼 发表于: 2010-12-29
Re:回 1楼(roywillow) 的帖子
引用第2楼nana_aoe于2010-12-29 19:54发表的 回 1楼(roywillow) 的帖子 :
非常感谢你的回复,但是各有所需,我的lineText通常要放一些比较大的数字,跨度也比较大,所以感觉使用QSpinBox还是不很合适,我试着自己写个控件,到时候给大家分享。

QSpinBox是可以直接输入的,并且自带检验器……隐藏掉旁边的箭头就是一个完完整整的文本框外观……
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线nana_aoe

只看该作者 2楼 发表于: 2010-12-29
回 1楼(roywillow) 的帖子
非常感谢你的回复,但是各有所需,我的lineText通常要放一些比较大的数字,跨度也比较大,所以感觉使用QSpinBox还是不很合适,我试着自己写个控件,到时候给大家分享。
离线roywillow

只看该作者 1楼 发表于: 2010-12-29
不妨用QSpinBox并且设置成不显示小箭头的样式吧
然后设置一下Box的上下界就ok了,并且还可以返回数值和字符串两种形式的输入
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
快速回复
限100 字节
 
上一个 下一个