• 5262阅读
  • 4回复

怎样在软键盘输入到lineEdit显示中控制输入格式(比如正则) [复制链接]

上一主题 下一主题
离线dumzair
 

只看楼主 倒序阅读 楼主  发表于: 2012-07-26

像图片中那样,期望是按照格式YYYY-MM-DD输入控制的,可是在lineEdit里用了正则控制,没有作用,然后在键盘和lineEdit的连接槽(读取键盘的函数)里也加入了控制,还是不行。。指导下呗,大神们~~~~~~~~~~
ps:使用的控制代码如下(应该没有问题,在键盘上敲时都OK,就是软键盘无法受约束):

lineEdit = new QLineEdit;
QRegExp regExp("[0-9]{1,4}[-][0-9]{1,2}[-][0-9]{1,2}");
QRegExpValidator *dateForm = new QRegExpValidator(regExp,this);
lineEdit -> setValidator(dateForm);

离线jdwx

只看该作者 1楼 发表于: 2012-07-26
回 楼主(dumzair) 的帖子
简单问题被复杂化,QDateEdit就是做这个的。
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线dumzair

只看该作者 2楼 发表于: 2012-07-26
回 1楼(jdwx) 的帖子
还是弄不出来啊,从键盘输入的是QString类型,要转成QDate类型(fromString),但是一转型那不是就不受setDispalyForm的限制了么,怎么办呢?。。。。
离线jdwx

只看该作者 3楼 发表于: 2012-07-26
控件在左边,显示之后在右边,不需要软键盘。
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线dumzair

只看该作者 4楼 发表于: 2012-07-26
哦哦哦,你是这个意思啊。。我之前做出来了(在自己的机子上是中文版,现在用的别人的英文版跑的,少了汉字了。。)但是我想实现软键盘输入格式受限的功能,该怎么实现呢,再帮帮忙吧,大哥~(在CSDN里你帮了我2次了,多谢了~~)
快速回复
限100 字节
 
上一个 下一个