我有以下问题:
我有一个类Foo,它封装了一个web-api.界面具有以下功能:
Foo :: addItem(QString id)
Foo :: updateItem(QString id)
两个函数都使用相同的 URL 启动QNetworkRequest,但数据的使用情况不同.因此我需要知道QNetworkRequest发起的插槽函数Foo :: replyFinished(QNetworkReply*wf_reply).
你怎么解决这个问题?
我可以使用变量存储QNetworkRequest的地址,以便稍后将其与wf_reply-> request()进行比较,但这对我来说似乎是一个黑客攻击.考虑到你可以在第一次执行replyFinished()之前调用addItem()或updateItem()一百次.最好的方法是向QNetworkRequest添加一个包含函数名称或id的sting或整数.
在你的原件中,QNetworkRequest你可以设置一个属性
setAttribute(Attribute code, const QVariant & value)
Run Code Online (Sandbox Code Playgroud)
Attribute是一个枚举,并且有一个针对这种情况的保留代码,QNetworkRequest::User. (参见:属性)
在您的中QNetworkReply,您可以拉动QNetworkRequest然后从那里request()获取Attributeattribute()
有点黑客,但我认为它应该有效。
| 归档时间: |
|
| 查看次数: |
1160 次 |
| 最近记录: |