• 7291阅读
  • 9回复

新手问问?pushbutton与lineedit的信号和槽的问题? [复制链接]

上一主题 下一主题
离线sunnysun520
 
只看楼主 正序阅读 楼主  发表于: 2009-03-06
— 本帖被 XChinux 执行加亮操作(2009-03-06) —
    在窗体初始化的时候,让LineEdit不使能。  然后希望点击add按钮后,LineEdit使能,聚焦。
我是这样做得,在add和LineEdit之间建立信息和槽的机制,add是click(bool)的信号,LineEdit的槽SetEnable(bool)为什么我运行时
点击add按钮没反应呢?
   不好意思,QT新手请问,这个问题应该怎么解决?
离线sunnysun520
只看该作者 9楼 发表于: 2009-03-07
解决了
   在窗体类中 添加一个槽,在构造函数中连接  connect(add,SIGNAL(clicked()),this,SLOT(EnblelineEdit1()));
槽的定义是:
void yundong::EnblelineEdit1()
{
      lineEdit1->setEnabled(true);
}
离线sunnysun520
只看该作者 8楼 发表于: 2009-03-06
请大家赐教!
离线sunnysun520
只看该作者 7楼 发表于: 2009-03-06
改了还是不行阿,我就是不会一步一步调阿,ghnie大哥教教可以吗? 我的qq是583339047 非常感谢ghnie大哥! 拜托!
离线sunnysun520
只看该作者 6楼 发表于: 2009-03-06
呵呵,新手阿 有点笨 就麻烦大侠了哈   呵呵 我好像经常问傻问题  再次感谢ghnie 大哥,是大哥吧?
离线ghnie

只看该作者 5楼 发表于: 2009-03-06
这个应该是括号不匹配的问题吧
SLOT((EnblelineEdit1(bool)))); --> SLOT(EnblelineEdit1(bool)));
去掉一层括号试试。

或者有些指针什么的不正确。
自己调试一下吧。

这个也要来求助啊?
离线sunnysun520
只看该作者 4楼 发表于: 2009-03-06
非常感谢。我这样了可是提示
yundong.cpp:10:              connect(add,SIGNAL(clicked(bool)),lineedit,SLOT((EnblelineEdit1(bool))));
yundong.cpp:10: 错误:expected primary-expression before ‘,’ token

lineedit是我建立的新的类,class lineedit:public QLineEdit,public Ui::yundong
{
    Q_OBJECT
private slots:
void EnblelineEdit1(bool);

};
void lineedit::EnblelineEdit1(bool )
{
      lineEdit1->setEnabled(true);
}
麻烦了!
[ 此帖被sunnysun520在2009-03-06 21:13重新编辑 ]
离线ghnie

只看该作者 3楼 发表于: 2009-03-06
connect(add,SIGNAL(clicked(bool)),lineEdit1,SLOT((YOURSLOT(bool))));


YOURSLOT(bool )
{
ui.lineedit->setEnabled(true);
}
离线sunnysun520
只看该作者 2楼 发表于: 2009-03-06
谢谢ghnie,那怎么转递阿? 我这样写又好像不对 connect(add,SIGNAL(clicked(true)),lineEdit1,SLOT((setEnabled(true))));
不好意思,新手请你赐教
离线ghnie

只看该作者 1楼 发表于: 2009-03-06
当然不行啦。
你要传一个true才行。

void QAbstractButton::clicked ( bool checked = false )   [signal]
默认值是false
快速回复
限100 字节
 
上一个 下一个