⚠️ Forum Maintenance: Feb 6th, 8am - 14pm (UTC+2)

I can't fit image in Qlabel

  • Hi i am new with PyQt and i am using QtDesigner and Python.
    i have been trying to display a image on Qt. I acquire image from webcam and it's size is 640x480. But i don't want display it on full size. I want to display it on a label. Size of label is not important. When i display it on a label. It crops the image and it shows some pixels (as expected). But i want to fit image in Qlabel. So i tried to set QSizePolicy=Ignored and QSizePolicy=Fixed using QtDesigner but bot of them didn't work. How can i display image like i said?

    my codes:


    from PyQt5.QtWidgets import *
    from qt_ilk import loadUi_example
    if __name__ == '__main__': 
        app = QApplication([])
        start_window = loadUi_example()

    and qt_ilk.py

    # -*- coding: utf-8 -*-
    # Form implementation generated from reading ui file 'qt_ilk.ui'
    # Created by: PyQt5 UI code generator 5.6
    # WARNING! All changes made in this file will be lost!
    from PyQt5.QtWidgets import *
    from PyQt5.uic import loadUi
    from PyQt5 import QtCore, QtGui, QtWidgets
    from PyQt5.QtCore import pyqtSlot
    from PyQt5.QtGui import QPixmap, QImage
    import cv2
    class loadUi_example(QMainWindow):
        def __init__(self):
            loadUi("qt_ilk.ui", self)
        def on_buon2_clicked(self):
            cap = cv2.VideoCapture(0)
            ret, frame = cap.read()
            frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
            if frame is not None:
                image = QImage(frame, frame.shape[1], frame.shape[0],
                               QImage.Format_RGB888)  # The image is stored using a 24-bit RGB format (8-8-8).
                self.pixmap = QPixmap.fromImage(image)
    class Ui_Form(object):
        def setupUi(self, Form):
            Form.resize(1000, 1000)
            self.buon2 = QtWidgets.QPushButton(Form)
            self.buon2.setGeometry(QtCore.QRect(150, 200, 75, 23))
            self.label = QtWidgets.QLabel(Form)
            self.label.setGeometry(QtCore.QRect(170, 70, 47, 13))
            self.buton1 = QtWidgets.QPushButton(Form)
            self.buton1.setGeometry(QtCore.QRect(150, 160, 75, 23))
        def retranslateUi(self, Form):
            _translate = QtCore.QCoreApplication.translate
            Form.setWindowTitle(_translate("Form", "Form"))
            self.buon2.setText(_translate("Form", "goster"))
            self.buton1.setText(_translate("Form", "temizle"))
    There is my face on original frame :)

  • Is QLabel.setScaledContents(true) what you are looking for?

  • Is QLabel.setScaledContents(true) what you are looking for?

Log in to reply