Qt 的几种不同关联方式对比
Qt 的几种不同关联方式
1. 旧的
connect(&m_rlblDeskTopOne, SIGNAL(RollingLabelPress()), this, SLOT(onSelectDesktopOne()));
2. 新的
connect(pDeviceListData, &UsbDeviceListData::signalDeviceAddedFront, this, &UsbDeviceListView::onAddDeviceFront);
旧的方式明确表明了是 signal slot
新方式则弱化了这个名称的标识------------的确,不需要,因为采用 connect 本身就已说明了这个是一个 signal/slot
新方式更好的一点是
1. 如果不匹配,会在编译时出错---------------这个太好了
2. 编译时建立连接,性能更好-----同上,也更好的预防了错误
旧方式
1. 兼容性好
2. 连接不一定是槽函数
3. 运行时检查----也是缺点
综合,新方式肯定比旧方式好一些,除非为了兼容或是其它更明确的收益,建议使用新的方式--------特别是编译时检查错误,真的太有用了