QT信号和槽总结

来源:互联网 发布:初语官方旗舰店 淘宝 编辑:程序博客网 时间:2024/06/05 01:11
自定义定义一个信号    signals:    void 信号名(参数);    void click(QString);注意:signals前面不能有访问修饰符    

槽的实现:
关键字:slots,可以被访问修饰符修饰

private slots:void clickfinished(QString);
信号和槽的链接:connect(sender,SIGNAL(signal),receiver,SLOT(slot));    sender是发送信号的对象    SIGNAL:signal:要发送的信号。    receiver:接收信号的对象。    SLOTS:定义的槽。接收信号的。    例子:    假设有个button对象m_button,this表示当前类的对象    connect( m_button , SIGNAL(click(click(QString)),this,SLOT(clickfinished(QString)))

1.一个信号可以对应多个槽,槽的执行顺序不确定。
这里写图片描述

2.多个信号可以对应一个槽,任何一个信号都会调用这个槽

这里写图片描述
3.一个信号可以与另一个信号连接,当第一个信号发射时,第二个信号也会发射

connect( lineedit , SIGNAL( textedchanged() ) ,this , SIGNAL( update() ) );

3.链接可以被移除
注意:要把信号成功链接到槽,信号和槽必须有相同的参数类型和顺序,当信号参数比槽多时会被忽略

0 0