Qt信号与槽新语法
本帖最后由 ~风介~ 于 2015-11-20 20:03 编辑出处: 原文出处
如果我们将一个QSlider对象的valueChanged信号链接到一个QSpinBox对象的setValue槽,使用传统方式:
connect(slider, SIGNAL(valueChanged(int)), spinbox, SLOT(setValue(int)));而使用新式语法,这个样子:
connect(slider, &QSlider::valueChanged, spinbox, &QSpinBox::setValue);使用新式语法:
编译期:检查信号与槽是否存在,参数类型检查,Q_OBJECT是否存在。
信号可以和普通的函数、类的普通成员函数、lambda函数连接(而不再局限于信号函数和槽函数)。
参数可以是 typedef 的或使用不同的namespace specifier。
可以允许一些自动的类型转换(即信号和槽参数类型不必完全匹配)。
页:
[1]