上海松江做网站多少钱,怎么做网站加盟,软件界面设计素材,做信贷抢客户网站前言#xff1a;因为项目需要#xff0c;软件要在windows7上运行#xff0c;然后项目目前是qt6写的#xff0c;然后搜索资料#xff0c;需要qt5.15.2或之前的版本才能在win7上运行#xff0c;于是下载了qt5.15.2#xff0c;将qt6的代码在qt5编译时#xff0c;很多错误因为项目需要软件要在windows7上运行然后项目目前是qt6写的然后搜索资料需要qt5.15.2或之前的版本才能在win7上运行于是下载了qt5.15.2将qt6的代码在qt5编译时很多错误一些莫名其妙的错比如函数没有定义的错误此时需要将头文件和源文件的编码格式改成GB2312才行有些qt6新增的函数得改成qt5中有的函数。因为用到蓝牙所以写了个蓝牙管理器类发现连接信号和槽时提示参数不一致错误仔细看了api才发现成员函数名和信号函数名一样导致原来的那种连接方式会报错后来换了一种写法才行以此记录修改过程。
连接信号和槽的两种写法
1简写法适合信号函数和成员函数函数名不会相同的情形。
// 示例QBluetoothDeviceDiscoveryAgent类中成员函数error()和信号函数error(QBluetoothDeviceDiscoveryAgent::Error)函数名一样此种写法编译vs2019编译报错
connect(m_deviceDiscoveryAgentPtr, QBluetoothDeviceDiscoveryAgent::error,this, BleClientManager::onDeviceDiscoveryErrorOccurred); //设备发现出现错误因为信号函数和成员函数的函数名一样无法这样写
2注明信号函数和槽函数参数的写法对于信号函数和槽函数函数名相同时也适用。
connect(m_deviceDiscoveryAgentPtr, SIGNAL(error(QBluetoothDeviceDiscoveryAgent::Error)),this, SLOT(onDeviceDiscoveryErrorOccurred(QBluetoothDeviceDiscoveryAgent::Error))); //设备发现出现错误