(Py)Qt:problema com a transferência de imagem
-
14-11-2019 - |
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
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