对于更改qtwebkit中的POST变量需要更改或将createData中的outgoingData替换为(...)。 如何创建自己的<PyQt4.QtCore.QIODevice object at 0x03BA...>
不是QFile或QByteArray。准确的QIODevice对象!它是创建可写设备所必需的。 或如何将<PyQt4.QtCore.QBuffer object at 0x03BA...>
转换为<PyQt4.QtCore.QIODevice object at 0x03BA...>
。
该器件在QNetworkAccessManager最常用的:
https://qt.gitorious.org/qt/webkit/source/7647fdaf9a4b526581e02fbd0e87c41a96cbfebb:src/network/access/qnetworkaccessmanager.cpp#L941如何更改qtwebkit中的POST数据?
QNetworkReply *QNetworkAccessManager::createRequest(QNetworkAccessManager::Operation op,
const QNetworkRequest &req,
QIODevice *outgoingData)
...
UPDATE:调用此方法后:
def createRequest(manager, operation, request, data):
if data.size() > 0:
post_body = "q=hello"
output = QtCore.QByteArray()
buffer = QtCore.QBuffer(output)
buffer.open(QtCore.QIODevice.ReadWrite)
buffer.writeData(post_body)
data = buffer
reply = QNetworkAccessManager.createRequest(manager, operation, request, data)
return reply
脚本挂断......
正如文档会告诉你,QIODevice是一个抽象类,也就是说,你应该继承它并自己实现各种方法,而不是直接实例化它。 – mdurant 2014-10-29 13:37:41