• 6891阅读
  • 3回复

请教 QIntValidator   与 QSpinBox 一些细节问题 [复制链接]

上一主题 下一主题
离线nana_aoe
 

只看楼主 倒序阅读 楼主  发表于: 2010-12-31
由于上贴太长了,新发一贴,
首先感谢roywillow的大力帮助,还有一些遗留问题需要解决,
问题详细叙述一下

第一,我在使用QIntValidator的时候,不能达到理想的数值判定,
我的代码如下,
QLineEdit *lineEdit;
lineEdit = new QLineEdit();
QValidator *validator = new QIntValidator(100,255,this);
lineEdit ->setValidator(validator);
结果为输入范围为0~999,与实现理想值不同,
我使用的是Qt4.3.2的版本,我试着在Qt4.6的版本下,以上代码正确,根据帮助手册上的提示,4.3.2的版本也可以实现精确的数值判定,还有就是最小值是如何判断的,我输入最小值,依然可以输入到lineEdit中。

第二,我在使用QSbinBox的时候,使用它的数值判定功能,于是我选择了隐藏右侧箭头,使用的NoButtons参数,得到的结果如下图所示。
在图示的左上角有一个,出现了一个黑点,这是什么原因,如何去除,其次是,我设置了spinbox的范围后,当程序运行起来后,这个spinbox会显示范围最小值,如何设置其初始化为空,

感谢各位路过的相助!
只看该作者 1楼 发表于: 2010-12-31
你设置的100-255
实际上,你可以输入0-255都没问题的.

因为lineedit 可是不知道你什么时候输入完毕的.
99,只能说你输入到这一步了.允许用户在前面加个1.
只是无法在中间和后面加数字,输入不进去.

所以你如果是想要完美的控制输入的话.最好还是用正则表达式判断输入的内容.
离线nana_aoe

只看该作者 2楼 发表于: 2011-01-04
spinbox左上角的黑点似乎是bug了,我把qt升级到4.5.3就没有问题了
离线nana_aoe

只看该作者 3楼 发表于: 2011-01-04
这样帖子就沉了,太快了吧
快速回复
限100 字节
 
上一个 下一个