Qt 中函数与槽机制是怎么实现的(机制) 网上大都是文字讲解,有点看不懂。我不知道我现在这个需求和 qt 的信号与槽机制是不是一个想法。
假如现在有这个这样的情景,有一个链接函数 connect(int , Func ) , 把一个 int 类型 和一个 函数 绑在一起,有一个
Caller(int,arg1,arg2,arg3,...)
函数 ,可以调用 传入的 int 对应绑定的func ,这里 func的返回类型,参数都不一样。
1 . 我的思路 是 用 unorderedMap<int, 函数 类型 (这里我就不知道 怎么写了, 因为函数的签名都不一样,如果都是 特定的 比如 void()(void) 那就可以直接存了> 我是想每个int 绑定的函数 不一定都是 void()(void) ;
2 . Caller 实现 就 直接
return Map [x] (这里写参数 );
可是c++ 没有 像 java C# 那种装不同类型的 容器,我就想到了 Qt 那个 connect(发出者,信号函数,接收者,槽函数) ; 这个怎么实现的 ?**
我本来是想设计一个 类似于菜单的 类, 里面有item 就好似 菜单的每一个条例, 我把每一个item 都 给一个索引,把对应的索引和 每个 item 对应要做的事情 绑定在一起。
鄙人平常想法比较多,大学 学校 teacher 基本不讲这些东西(哎!),我可能缺少一些其他知识 比如 设计模式,进程/线程通信,网络(基本没学过,还是大二)啥的,不知道和这个有没有关系,感觉如何设计对象,把事情抽象 好难,每次看到一些C++ 库中那些 各种对象的继承方式,构造方式,就很想学,但是不知道怎么开始, 直接看人家代码 就和天书一样。