为了账号安全,请及时绑定邮箱和手机立即绑定

VS08编写QT界面使用QlineEdit的信号问题?

VS08编写QT界面使用QlineEdit的信号问题?

PHP
忽然笑 2019-02-14 19:11:24
根据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 回答

?
慕码人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是否为空,然后进行相关判断。

查看完整回答
反对 回复 2019-03-25
  • 2 回答
  • 0 关注
  • 643 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信