1 信号与槽的宏定义
METHOD,SLOT,SIGNAL宏前面对应的是字符串数字;#的意思是字符串拼接;METHOD,SLOT,SIGNAL宏实则就是加了前缀的字符串。1
2
3define METHOD(a) "0"#a
define SLOT(a) "1"#a
define SIGNAL(a) "2"#a
2 信号与槽的使用
- 先定义信号槽使用的宏
SIGNAL与SLOT; - 再通过使用connect连接使用;
- 例:
1
2
3QPushButton *button = new QPushButton(this);
connect(button, SIGNAL(clicked()),
this, SIGNAL(buttonClicked()));
3 解析函数
对应宏
METHOD,SLOT,SIGNAL对应判断标记QMETHOD_CODE,QSLOT_CODE,QSIGNAL_CODE的定义
1
2
3
1 | static int extractCode(const char *member) |
3.1 使用
1 |
|
3.2 输出
1 | SLOT |
3.3 知识点
(((int)(*member) - '0') & 0x3)主要作用为提取第一个字符减去0的ascii码再&3的出对应的数字就是对应结果了;