У меня нет возможности загрузить картинку вашим способомНо я думаю код ниже поможет вам разобратьсяИ я не нашёл ссылку на bmp изображениеimport io
import sys
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from PyQt5.QtGui import *
import requests
def log_uncaught_exceptions(ex_cls, ex, tb):
text = '{}: {}:\n\n'.format(ex_cls.__name__, ex)
import traceback
text += ''.join(traceback.format_tb(tb))
QMessageBox.critical(None, 'Ошибка!', text)
quit()
sys.excepthook = log_uncaught_exceptions
class SenderMessage(QObject):
image_bytes = pyqtSignal(bytes)
def __init__(self):
super().__init__()
@pyqtSlot()
def run(self):
image_bytes = requests.get('https://dadaviz.ru/wp-content/uploads/2018/02/1-12.jpg', stream=True).content
self.image_bytes.emit(image_bytes)
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setWindowTitle("Показать изображение")
self.setGeometry(400, 200, 626, 626)
self.label_image = QLabel(self)
self.label_image.setGeometry(0, 0, 626, 626)
self.pixmap = QPixmap()
self.thread = QThread()
self.sender_message = SenderMessage()
self.sender_message.moveToThread(self.thread)
self.sender_message.image_bytes.connect(self.signalHandlerImageBytes)
self.thread.started.connect(self.sender_message.run)
self.thread.start()
def signalHandlerImageBytes(self, image_bytes):
self.pixmap.loadFromData(image_bytes)
self.label_image.setPixmap(self.pixmap)
def main():
app = QApplication(sys.argv)
main_window = MainWindow()
main_window.show()
sys.exit(app.exec_())
if __name__ == '__main__':
main()