根据C++ GUI Programming with Qt 4一书的例子,在VS08自建的项目里,希望能够当QlineEdit的对象ui.lineEdit的内容不为空的时候,QpushButton的对象ui.pushButton->setEnabled(true);这里的connect函数应该怎么写?我可以实现当按另外一个键的时候如果ui.lineEdit不为空,将pushButton置为可用,但是不知道怎样直接判断。谢谢各位啊!!因为看到QlineEdit自身有一些信号,于是我写了一个connect(ui.lineEdit,SIGNAL(TextEdited(Qstring)),this,SLOT(setEnablebutton()));其中的SLOT是void dialogtest::setEnablebutton(){QString text=ui.lineEdit->text();if(!text.isEmpty())ui.pushButton->setEnabled(true);}问题肯定出在connect里面,但是这个信号不会用啊……
2 回答
![?](http://img1.sycdn.imooc.com/545861b80001d27c02200220-100-100.jpg)
慕码人2483693
TA贡献1860条经验 获得超9个赞
我用的是qt3的,两种方法
首先:在构造函数里面先把按钮设置为假。
1。qlineedit有个信号 void textChanged ( const QString & );
connect(ui.lineEdit,SIGNAL(textChanged ( const QString & ),this,SLOT(setEnablebutton())); 槽里面在进行相关判断
qt4中应该有类似的。
2。 也可以用qtimeevent类,定义一个计数器,每隔几秒,看看text是否为空,然后进行相关判断。
- 2 回答
- 0 关注
- 643 浏览
添加回答
举报
0/150
提交
取消