qt菜鸟提问,关于SIGNAL和SLOT

leewon1988 2009-11-28 08:02:28
我在一个dialog上嵌入了一个QLineEdit* LineEdit和一个QPushButton* FindButton(均已new),并且我设置FindButton.setEnabled(false),然后,我假如如下的代码
 connect(LineEdit,SIGNAL(textChanged(const QString&)),
FindButton,SLOT(EnableFindButton(const QString&)));
void FindDialog::EnableFindButton(const QString& text){
FindButton->setEnabled(!text.isEmpty());
}

那么,为什么我的程序在Edit中输入内容,但是FindButton那个按钮却没有变为Enable的啊

第一次写Qt,大侠帮忙看看
...全文
109 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenzhp 2009-11-29
  • 打赏
  • 举报
回复
这个坛子上最火爆的估计是C/C++区了。
dext 2009-11-29
  • 打赏
  • 举报
回复
要加上
private slots:
在你的邮槽申明前。楼主也太性急了。

其实 看那本书的时候,要活学活用,毕竟写那本书的时候,还没有QtCreator,以下是快捷方法:

在Qt Creator 中 的MainWindow 中 放一个 LineEdit 和 一个PushButton
右键点击 LineEdit 在弹出的菜单中 选择 Go to Slot
在 弹出对话框中 双击 textChanged

这是 会有一个新的 成员 函数添加,不管别的,直接粘贴 你的

ui->pushButton->setEnabled(!ui->lineEdit->text().isEmpty());

问题搞定! :P

leewon1988 2009-11-28
  • 打赏
  • 举报
回复
错误已经找到

叫QT区,怎么一个会QT的人也没有啊??
leewon1988 2009-11-28
  • 打赏
  • 举报
回复
没人理啊!!
leewon1988 2009-11-28
  • 打赏
  • 举报
回复
人也太少了吧

16,216

社区成员

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

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