当前位置:网站首页>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::*)(),可读性差
};
边栏推荐
- JUC并发容器——阻塞队列
- EL expression
- Multi-threaded sequential output
- [English learning][sentence] good sentence
- 线性表之动态数组(ArrayList)的自实现
- C语言数组的深度分析
- Uos统信系统 Postfix-smtps & Dovecot-imaps
- const int * a 与 int * const a 的定义与区别
- PS像素画学习-1
- RuntimeError: You called this URL via POST, but the URL doesn‘t end in a slash and you have APPEND_S
猜你喜欢
随机推荐
Pipe redirection
Multi-threaded sequential output
罗斯50分
以太网 ARP
位段-C语言
一场聚会,转行渗透测试月薪13.5k,感谢那个女同学......
【HIT-SC-MEMO2】哈工大2022软件构造 复习笔记2
C语言静态变量static的分析
有且仅有的三种处理JSON的方法
通过socks5代理下载webrtc源码错误:curl: (7) Can't complete SOCKS5 connection xx.xx.xx.xx
Operating System Random
Usage of SFTP
win10下mediasoup搭建过程中的一些坑记录
并发概念基础:线程安全与线程间通信
Uos统信系统 IP地址以及完整主机名配置
枚举和联合(自定义类型)-C语言
webrtc技术名词和关键技术要点:SVC,REMB,SVC...
【HIT-SC-MEMO6】哈工大2022软件构造 复习笔记6
你要悄悄学网络安全,然后惊艳所有人
Scheduler (Long-term,Short-term, Medium-term Scheduler) & Dispatcher









