程序员

C++信号槽

2017-05-27  本文已影响321人  拉普拉斯妖kk

什么是信号槽?

使用信号槽

sigslot库

基本使用方式

#include "sigslot.h"
//在sigslot.h的420,将:
typedef sender_set::const_iterator const_iterator;
    //改为:
typedef typename sender_set::const_iterator const_iterator;
class mySg
{
    sigc::signal0<>                 sg1;    // 无参数
    sigc::signal2<char*, double="">    sg2;    // 2个参数
}
class mySlot: public : has_slots<>
{
public:
    void on_func1(){}                       // 无参数,与信号对应
    void on_func2(char*, double)(){}        // 2个参数
};
mySg    sig;
mySlot  slt;
sig.sg1.conncent(&slt,&mySlot::on_func1);
sig.sg2.conncent(&slt,&mySlot::on_func2);
sig.sg1.disconnect(&slt);
sig.sg1.disconnect_all();
sig.sg1.emit();
sig.sg2("str",0.1);
上一篇 下一篇

猜你喜欢

热点阅读