سؤال

شباب
أريد عرض بعض الصور مع التسميات التوضيحية الخاصة بها QTextEdit.لدي قاموس يحتوي على التسميات التوضيحية وعناوين URL المقابلة.المشكلة هي عندما أقوم بنشر طلب مع QNetworkAccessManager وانتظر الإشارة finished(QNetworkReply*), ، أحصل على الرد مع الصورة فقط.كيف يمكنني تحديد التسمية التوضيحية المقابلة التي تم طلب هذه الصورة لها؟

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');

هل هناك أي أنماط تصميم لهذه المشكلة؟وسأكون ممتنا لأي أفكار

هل كانت مفيدة؟

المحلول

بافتراض وجود إصدار حديث من Qt، فإن QNetworkReply::request() سوف أعطيك مؤشرا إلى QNetworkRequest الذي أثار هذا الرد.

حتى تتمكن من الوصول إلى المعلومات التي تبحث عنها QNetworkRequest::url().

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top