当前位置:网站首页>QT signals 保存到 QMap
QT signals 保存到 QMap
2022-08-04 05:34:00 【_杜竞宁_】
一般适用较多且统一的不同信号,粗略代码(不能直接运行)如下:
class Person{
public:
Person(){
m_signalMap = {
// 3.初始化时添加到map
{
"eat", &buttonForPerson::eat},
{
"drink", &buttonForPerson::drink},
...
};
}
slots:
void actions(){
any *act = (any)(sender());
if (act)
emit (this->*m_signalMap[act->actionName])();
/* 4.调用,发出信号,可以先判断值是否为空; 我这里不判断,为空代表有某些存在的动作没有被赋值或动作本身就不应该存在,表明代码有问题 */
}
signals:
void eat();
void drink();
...
private:
using p_signal_type = void(Person::*)(); // 1.声明函数指针类型
QMap<QString, p_signal_type> m_signalMap; // 2.声明Map;直接void(Person::*)(),可读性差
};
边栏推荐
猜你喜欢
随机推荐
数据库实体类对应daoimpl,基础的增删改查。
Scheduler (Long-term,Short-term, Medium-term Scheduler) & Dispatcher
Uos统信系统 chrony配置
一场聚会,转行渗透测试月薪13.5k,感谢那个女同学......
关于gopher协议的ssrf攻击
复杂格式的json转递
如何在网页标题栏中加入图片!
你要悄悄学网络安全,然后惊艳所有人
如何在Excel 里倒序排列表格数据 || csv表格倒序排列数据
ssm pom文件依赖 web.xml配置
webrtc技术名词和关键技术要点:SVC,REMB,SVC...
基于Webrtc和Janus的多人视频会议系统开发4 - 改造信令交互系统完成sdp交换过程
杰哥带大家做一次meterpreter内网渗透模拟
clssloader与双亲委派
Object. RequireNonNull method
读取JDBC配置文件
JUC并发容器——阻塞队列
MySQL之SQL结构化查询语言
webrtc代码解读二:音视频播放同步过程
Unity Day03









