Ответы пользователя по тегу Qt
  • Как сделать обновление label в Qt?

    sanya84
    @sanya84
    Фанатик Python 3
    У меня нет возможности загрузить картинку вашим способом
    Но я думаю код ниже поможет вам разобраться
    И я не нашёл ссылку на 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()
    Ответ написан
    Комментировать
  • Как вставить изображение в pyqt5?

    sanya84
    @sanya84
    Фанатик Python 3
    Вот так работает проверенно

    import sys
    from PyQt5.QtWidgets import (QWidget, QHBoxLayout, QLabel, QApplication)
    from PyQt5.QtGui import QPixmap
     
    class Example(QWidget):
        
        def __init__(self):
            super().__init__()
            self.initUI()
            
        def initUI(self):      
            hbox = QHBoxLayout(self)
            pixmap = QPixmap("ёлка.png")
            lbl = QLabel(self)
            lbl.setPixmap(pixmap)
            hbox.addWidget(lbl)
            self.setLayout(hbox)
            
            self.move(100, 200)
            self.setWindowTitle('Red Rock')
            self.show()        
            
    if __name__ == '__main__':
        app = QApplication(sys.argv)
        ex = Example()
        sys.exit(app.exec_())
    Ответ написан
    3 комментария
  • Как подогнать изображение под виджет?

    sanya84
    @sanya84
    Фанатик Python 3
    Вот решение:
    self.button = QPushButton(self)
    self.button.setIconSize(QSize(50,50))
    self.button.setGeometry(0,0, 40,40)
    self.button.setIcon(QIcon(QPixmap("button_run.png")))


    self.button.setIconSize(QSize(50,50))
    Ответ написан
    1 комментарий