Pergunta

caras
Quero mostrar algumas imagens com suas legendas, em QTextEdit.Eu tenho um dicionário com legendas e URLs correspondentes.O problema é quando eu postar um pedido com QNetworkAccessManager e esperar por um sinal finished(QNetworkReply*), Eu recebo resposta com apenas imagem.Como posso determinar um correspondente legenda esta imagem foi solicitado para que?

def _init_(self)
    manager = QNetworkAccessManager(self);
    self.connect(manager, SIGNAL("finished(QNetworkReply*)"), self.add_record)
    for record in dict:
        manager.get(QNetworkRequest(QUrl(status['caption'])))

def add_record(self, reply):
    img = QImage()
    img.loadFromData(reply.readAll())
    self.textEdit.textCursor().insertImage(img)
    #I don't know at this point for which caption
    #I've received this image
    #self.textEdit.append(record['text'] + '\n');

Existem alguns padrões de projeto para este problema?Gostaria muito de receber qualquer ideias

Foi útil?

Solução

Supondo que um recente versão do Qt, o QNetworkReply::request() vai dar-lhe um ponteiro para o QNetworkRequest que desencadeou esta resposta.

Assim, você pode acessar a informação que você está depois com QNetworkRequest::url().

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top