Задать вопрос
@kuzdman

Почему картинка в PyQt5 открывается не правильно?

Вот код:
import sys
from PyQt5.QtWidgets import QWidget, QLabel, QApplication, QLineEdit, QPushButton
from PyQt5.QtCore import QSize
from PyQt5.QtGui import QPixmap
from PIL import Image


class OpenImage(QWidget):
    def __init__(self):
        super().__init__()
        x, y = 800, 600

        self.setGeometry(0, 0, x, y)
     
        self.pushOK = QPushButton("Open", self)
        self.pushOK.resize(QSize(100, 20))
        self.pushOK.move(220, 20)
        self.pushOK.clicked.connect(self.init_UI)

        self.nameInput = QLineEdit(self)
        self.nameInput.move(40, 20)
        self.nameInput.resize(QSize(175, 20))

        self.lbl1 = QLabel(self)

    def init_UI(self):
        try:
            screensize = (800, 600)
            picname = self.nameInput.text()

            x, y = Image.open(picname).size
            self.setGeometry(0, 0, x, y)
            self.setWindowFilePath(picname)

            self.lbl1.resize(QSize(x, y))

            pixmap = QPixmap(picname)
            k1, k2 = 1, 1

            if not (pixmap.width() < screensize[0] and pixmap.height() < screensize[1]):
                try:
                    k1 = pixmap.height() // screensize[0]
                    k2 = pixmap.width() // screensize[1]
                except ZeroDivisionError:
                    k1, k2 = 1, 1

            print(k1, k2)

            pixmap = pixmap.scaled(pixmap.width() // max(k1, k2),
                                   pixmap.height() // max(k1, k2))

            self.lbl1.setPixmap(pixmap)
            self.lbl1.move(0, 40)
            self.move(0, 0)
        except FileNotFoundError:
            pass


if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = OpenImage()
    ex.show()
    sys.exit(app.exec())


Из-за чего у меня картинка сдвигается вниз? Как её можно поднять? Может какой косяк в коде?
  • Вопрос задан
  • 303 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 1
longclaps
@longclaps
Да черт его знает, вроде не сдвигается. Я только адский ресайз под размер картинки пофиксил, больше ничего не менял.
5c35803f211fd167727822.png
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
Greenway Global Новосибирск
от 150 000 ₽
SPA2099 Москва
До 100 000 ₽
HR Prime Москва
от 300 000 до 3 800 000 ₽