在我基于 C++ 的 BlackBerry 10 应用程序中,我有一个自定义类,它使用 QNetworkAccessManager 来处理网络连接。QNetworkAccessManager 对象的 requestFinished(..) 方法在接收到一些数据时会发出一个信号。
问题是,许多外部班级都对这个信号感兴趣。所以,我有很多插槽连接到这个信号。我的问题是,在这些插槽中,我可能正在做一些与 UI 相关的事情——所以我可能不希望一旦发出信号,所有插槽都会一直同时被调用。
相反,我可能希望在某个时间点,信号仅调用一个插槽,在另一个时间点,另一个插槽等。有什么方法可以做到这一点?
我想我可以做的是使用不同的 QNetworkAccessManager 对象(如下)——但我听说不推荐这样做???例如,还有什么其他方法???谢谢你。
MyNetworkClass *network1 = new MyNetworkClass();
bool res = QObject::connect(network1, SIGNAL(signalSuccess(QVariant)), this, SLOT(CustomSLot1(QVariant)));
MyNetworkClass *network2 = new MyNetworkClass();
bool res = QObject::connect(network2, SIGNAL(signalSuccess(QVariant)), this, SLOT(CustomSLot2(QVariant)));
MyNetworkClass *network3 = new MyNetworkClass();
bool res = QObject::connect(network3, SIGNAL(signalSuccess(QVariant)), this, SLOT(CustomSLot3(QVariant)));