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. 运行时检查----也是缺点
 
综合,新方式肯定比旧方式好一些,除非为了兼容或是其它更明确的收益,建议使用新的方式--------特别是编译时检查错误,真的太有用了
posted @ 2025-08-15 11:30  知易  阅读(8)  评论(0)    收藏  举报