QT 里判断文本输入结束的函数是哪个

void GoToCellDialog:: download()

{

QString qsText = lineEdit->text();//obtain lineEdit name

QString a="mkdir ";

a.append(qsText);

}

system(a.toStdString().data());//make file

}

void GoToCellDialog::on_lineEdit_textChanged()

{

connect(lineEdit,SIGNAL(editingFinished()),this,SLOT(download()));

}

我这样做果会是,当我在lineEdit里输入路径名aa的时候就产生一个aa文件夹,当我接着输入到三个aaa时就又会产生aaa文件夹,有没有哪个函数判断输入结束的时候才产生文件夹,麻烦告知一下怎样改,先谢谢啦!!

这要先看你认为什么时候算结束?
有几个选择:
1.停下输入几秒后,认为输入结束了
2.输入回车,算结束了
3.切换到别的控件,算结束了
第一种:需要定时器
第二种:QT里面有个buddy控件的设置,好像能把lineedit的回车绑定到一个button上,具体我也忘了。
第三种:看看有没有丢失焦点onblur之类的事件,应该有追问

editingFinished()不是判断结束的吗?我这样写,只要焦点不离开lineedit上就可以了是吗?对于用户来说只要在这个窗口输入目录即可?

追答

具体的API是什么意思我也不知道,你可以查查文档看看editingFinished是什么意思,应该和你想要的那个效果不一样。而且你也没必要在textchanged的时候connect,只要connect一次就好了

来自:求助得到的回答
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-02-20
好像没有这个函数!重写一下吧!按回车表示结束。
相似回答