QT的QValidator怎么设置最小值

sno_guo 2012-05-18 11:50:31
大家好, 我想用 QValidator* 这里类来控制我的LineEdit控件的输入范围,
代码如下:
//新建一个widget,在构造函数中加入如下内容:

QValidator* validator = new QIntValidator( 200, 599, this );
QLineEdit* edit = new QLineEdit;
edit->setValidator( validator );

QHBoxLayout *mainLayout = new QHBoxLayout();
mainLayout->addWidget(edit);
setLayout(mainLayout);


然后编译,执行,当我输入600来测试最大值时,发现无法输入,说明是正常的。
可是当我输入123 的时候,发现也可以输入,但是我设置了最小值是200啊,怎么可以输入123呢,请教下各位,我怎么能限制我的最小值,谢谢!
...全文
793 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
songhuirong1 2012-05-18
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
谢谢,就是说我去new 一个 QLineEdit 然后,自己创建一个槽函数,当有数据变化时,在我自己的槽函数中处理,是这样吗?
[/Quote]
这个方法是可以达到你的目的的。在槽函数里进行if判断就行了。不知道有没有更好的方法呢?有的话,拿出来共享下。
sno_guo 2012-05-18
  • 打赏
  • 举报
回复
谢谢,就是说我去new 一个 QLineEdit 然后,自己创建一个槽函数,当有数据变化时,在我自己的槽函数中处理,是这样吗?
無_1024 2012-05-18
  • 打赏
  • 举报
回复
实例化 QLineEdit 然后正则表达式或者是值得判断
shen_wei 2012-05-18
  • 打赏
  • 举报
回复
这个你只能自己去实例化 QLineEdit了。。

QIntValidator( 0, 599, this ); 限制 0-599

好像最小只能是 0了。。你自己百度看看就能明白了。。。

16,212

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧