Как сделать так чтобы картинка сохраняла соотношение сторон?
Использую Qt Desinger. У меня есть gridlayout, в который помещены виджеты.
В одном из них находится QLable c изображением.
Как сделать так чтобы изображение сохраняло соотношение сторон при изменении размеров окна?
# -*- coding: utf-8 -*-
import sys
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(1355, 722)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(MainWindow.sizePolicy().hasHeightForWidth())
MainWindow.setSizePolicy(sizePolicy)
MainWindow.setStyleSheet("background-color: rgb(0, 0, 0);")
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.gridLayout = QtWidgets.QGridLayout(self.centralwidget)
self.gridLayout.setObjectName("gridLayout")
self.frame_7 = QtWidgets.QFrame(self.centralwidget)
self.frame_7.setStyleSheet("background-color: rgb(92, 92, 92);")
self.frame_7.setFrameShape(QtWidgets.QFrame.StyledPanel)
self.frame_7.setFrameShadow(QtWidgets.QFrame.Raised)
self.frame_7.setObjectName("frame_7")
self.gridLayout.addWidget(self.frame_7, 2, 3, 1, 1)
self.frame_4 = QtWidgets.QFrame(self.centralwidget)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.frame_4.sizePolicy().hasHeightForWidth())
self.frame_4.setSizePolicy(sizePolicy)
self.frame_4.setMinimumSize(QtCore.QSize(325, 0))
self.frame_4.setStyleSheet("background-color: rgb(92, 92, 92);")
self.frame_4.setFrameShape(QtWidgets.QFrame.StyledPanel)
self.frame_4.setFrameShadow(QtWidgets.QFrame.Raised)
self.frame_4.setObjectName("frame_4")
self.gridLayout.addWidget(self.frame_4, 0, 3, 1, 1)
self.frame_11 = QtWidgets.QFrame(self.centralwidget)
self.frame_11.setStyleSheet("background-color: rgb(92, 92, 92);")
self.frame_11.setFrameShape(QtWidgets.QFrame.StyledPanel)
self.frame_11.setFrameShadow(QtWidgets.QFrame.Raised)
self.frame_11.setObjectName("frame_11")
self.gridLayout.addWidget(self.frame_11, 3, 3, 1, 1)
self.frame_10 = QtWidgets.QFrame(self.centralwidget)
self.frame_10.setStyleSheet("background-color: rgb(92, 92, 92);")
self.frame_10.setFrameShape(QtWidgets.QFrame.StyledPanel)
self.frame_10.setFrameShadow(QtWidgets.QFrame.Raised)
self.frame_10.setObjectName("frame_10")
self.gridLayout.addWidget(self.frame_10, 3, 2, 1, 1)
self.frame_9 = QtWidgets.QFrame(self.centralwidget)
self.frame_9.setStyleSheet("background-color: rgb(92, 92, 92);")
self.frame_9.setFrameShape(QtWidgets.QFrame.StyledPanel)
self.frame_9.setFrameShadow(QtWidgets.QFrame.Raised)
self.frame_9.setObjectName("frame_9")
self.gridLayout.addWidget(self.frame_9, 3, 1, 1, 1)
self.frame_8 = QtWidgets.QFrame(self.centralwidget)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.frame_8.sizePolicy().hasHeightForWidth())
self.frame_8.setSizePolicy(sizePolicy)
self.frame_8.setMinimumSize(QtCore.QSize(0, 77))
self.frame_8.setStyleSheet("background-color: rgb(92, 92, 92);")
self.frame_8.setFrameShape(QtWidgets.QFrame.StyledPanel)
self.frame_8.setFrameShadow(QtWidgets.QFrame.Raised)
self.frame_8.setObjectName("frame_8")
self.gridLayout.addWidget(self.frame_8, 3, 0, 1, 1)
self.frame_6 = QtWidgets.QFrame(self.centralwidget)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.frame_6.sizePolicy().hasHeightForWidth())
self.frame_6.setSizePolicy(sizePolicy)
self.frame_6.setMinimumSize(QtCore.QSize(0, 127))
self.frame_6.setStyleSheet("background-color: rgb(92, 92, 92);")
self.frame_6.setFrameShape(QtWidgets.QFrame.StyledPanel)
self.frame_6.setFrameShadow(QtWidgets.QFrame.Raised)
self.frame_6.setObjectName("frame_6")
self.gridLayout.addWidget(self.frame_6, 2, 2, 1, 1)
self.frame = QtWidgets.QFrame(self.centralwidget)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.frame.sizePolicy().hasHeightForWidth())
self.frame.setSizePolicy(sizePolicy)
self.frame.setMinimumSize(QtCore.QSize(200, 53))
self.frame.setStyleSheet("background-color: rgb(92, 92, 92);")
self.frame.setFrameShape(QtWidgets.QFrame.StyledPanel)
self.frame.setFrameShadow(QtWidgets.QFrame.Raised)
self.frame.setObjectName("frame")
self.gridLayout.addWidget(self.frame, 0, 0, 1, 1)
self.frame_5 = QtWidgets.QFrame(self.centralwidget)
self.frame_5.setStyleSheet("background-color: rgb(92, 92, 92);")
self.frame_5.setFrameShape(QtWidgets.QFrame.StyledPanel)
self.frame_5.setFrameShadow(QtWidgets.QFrame.Raised)
self.frame_5.setObjectName("frame_5")
self.gridLayout.addWidget(self.frame_5, 1, 2, 1, 2)
self.frame_3 = QtWidgets.QFrame(self.centralwidget)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.frame_3.sizePolicy().hasHeightForWidth())
self.frame_3.setSizePolicy(sizePolicy)
self.frame_3.setMinimumSize(QtCore.QSize(334, 0))
self.frame_3.setStyleSheet("background-color: rgb(92, 92, 92);")
self.frame_3.setFrameShape(QtWidgets.QFrame.StyledPanel)
self.frame_3.setFrameShadow(QtWidgets.QFrame.Raised)
self.frame_3.setObjectName("frame_3")
self.gridLayout.addWidget(self.frame_3, 0, 2, 1, 1)
self.frame_2 = QtWidgets.QFrame(self.centralwidget)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.frame_2.sizePolicy().hasHeightForWidth())
self.frame_2.setSizePolicy(sizePolicy)
self.frame_2.setStyleSheet("background-color: rgb(92, 92, 92);")
self.frame_2.setFrameShape(QtWidgets.QFrame.StyledPanel)
self.frame_2.setFrameShadow(QtWidgets.QFrame.Raised)
self.frame_2.setObjectName("frame_2")
self.gridLayout.addWidget(self.frame_2, 0, 1, 1, 1)
self.label_13 = QtWidgets.QLabel(self.centralwidget)
self.label_13.setEnabled(True)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Expanding)
sizePolicy.setHorizontalStretch(1)
sizePolicy.setVerticalStretch(1)
sizePolicy.setHeightForWidth(self.label_13.sizePolicy().hasHeightForWidth())
self.label_13.setSizePolicy(sizePolicy)
self.label_13.setMinimumSize(QtCore.QSize(640, 480))
self.label_13.setMaximumSize(QtCore.QSize(16777215, 16000000))
self.label_13.setSizeIncrement(QtCore.QSize(0, 0))
self.label_13.setBaseSize(QtCore.QSize(0, 0))
self.label_13.setToolTip("")
self.label_13.setStyleSheet("background-color: rgb(159, 159, 159);")
self.label_13.setText("")
self.label_13.setTextFormat(QtCore.Qt.AutoText)
self.label_13.setPixmap(QtGui.QPixmap("red-apple-fruit-7.png"))
self.label_13.setScaledContents(True)
self.label_13.setAlignment(QtCore.Qt.AlignCenter)
self.label_13.setObjectName("label_13")
self.gridLayout.addWidget(self.label_13, 1, 0, 2, 2)
MainWindow.setCentralWidget(self.centralwidget)
self.statusbar = QtWidgets.QStatusBar(MainWindow)
self.statusbar.setObjectName("statusbar")
MainWindow.setStatusBar(self.statusbar)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", ""))
app = QtWidgets.QApplication(sys.argv)
MainWindow = QtWidgets.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_())
Ответы (2 шт):
Автор решения: S. Nick
→ Ссылка
Пожалуйста, всегда предоставляйте минимально-воспроизводимый пример, который демонстрирует проблему.
Как вариант, с использованием виджета QGraphicsView.
import sys
import os.path
from PyQt5.Qt import *
class QtImageViewer(QGraphicsView):
def __init__(self):
super().__init__()
self.scene = QGraphicsScene()
self.setScene(self.scene)
self._pixmapHandle = None
self.zoomStack = []
self.aspectRatioMode = Qt.KeepAspectRatio # !!!
def hasImage(self):
return self._pixmapHandle is not None
def clearImage(self):
if self.hasImage():
self.scene.removeItem(self._pixmapHandle)
self._pixmapHandle = None
def pixmap(self):
if self.hasImage():
return self._pixmapHandle.pixmap()
return None
def image(self):
if self.hasImage():
return self._pixmapHandle.pixmap().toImage()
return None
def setImage(self, image):
if type(image) is QPixmap:
pixmap = image
elif type(image) is QImage:
pixmap = QPixmap.fromImage(image)
else:
raise RuntimeError(
"ImageViewer.setImage: Аргумент должен быть QImage или QPixmap.")
if self.hasImage():
self._pixmapHandle.setPixmap(pixmap)
else:
self._pixmapHandle = self.scene.addPixmap(pixmap)
self.setSceneRect(QRectF(pixmap.rect()))
self.updateViewer()
def loadImageFromFile(self, fileName=""):
if len(fileName) == 0:
fileName, _ = QFileDialog.getOpenFileName(
self,
"Open image file.",
"",
"Image files (*.jpg, *.gif, *.png)"
)
if len(fileName) and os.path.isfile(fileName):
image = QImage(fileName)
self.setImage(image)
def updateViewer(self):
if not self.hasImage():
return
if len(self.zoomStack) and self.sceneRect().contains(self.zoomStack[-1]):
self.fitInView(self.zoomStack[-1], Qt.IgnoreAspectRatio)
else:
self.zoomStack = []
self.fitInView(self.sceneRect(), self.aspectRatioMode)
def resizeEvent(self, event):
self.updateViewer()
if __name__ == '__main__':
app = QApplication(sys.argv)
viewer = QtImageViewer()
viewer.loadImageFromFile()
viewer.show()
sys.exit(app.exec_())
Ok.png
Автор решения: S. Nick
→ Ссылка
Вы писали: "Да спасибо, но у меня несколько фреймов в одном Grid"
Вам просто надо встроить мой виджет в свою форму и также
создайте другой класс, который наследуется от соответствующего виджета, и используйте созданный класс для его заполнения вашей формой.
import sys
import os.path
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.Qt import *
class QtImageViewer(QGraphicsView):
def __init__(self):
super().__init__()
self.scene = QGraphicsScene()
self.setScene(self.scene)
self._pixmapHandle = None
self.zoomStack = []
self.aspectRatioMode = Qt.KeepAspectRatio # !!!
self.loadImageFromFile("boy33.png") # "red-apple-fruit-7.png"
def hasImage(self):
return self._pixmapHandle is not None
def clearImage(self):
if self.hasImage():
self.scene.removeItem(self._pixmapHandle)
self._pixmapHandle = None
def pixmap(self):
if self.hasImage():
return self._pixmapHandle.pixmap()
return None
def image(self):
if self.hasImage():
return self._pixmapHandle.pixmap().toImage()
return None
def setImage(self, image):
if type(image) is QPixmap:
pixmap = image
elif type(image) is QImage:
pixmap = QPixmap.fromImage(image)
else:
raise RuntimeError(
"ImageViewer.setImage: Аргумент должен быть QImage или QPixmap.")
if self.hasImage():
self._pixmapHandle.setPixmap(pixmap)
else:
self._pixmapHandle = self.scene.addPixmap(pixmap)
self.setSceneRect(QRectF(pixmap.rect()))
self.updateViewer()
def loadImageFromFile(self, fileName=""):
if len(fileName) == 0:
fileName, _ = QFileDialog.getOpenFileName(
self,
"Open image file.",
"",
"Image files (*.jpg, *.gif, *.png)"
)
if len(fileName) and os.path.isfile(fileName):
image = QImage(fileName)
self.setImage(image)
def updateViewer(self):
if not self.hasImage():
return
if len(self.zoomStack) and self.sceneRect().contains(self.zoomStack[-1]):
self.fitInView(self.zoomStack[-1], Qt.IgnoreAspectRatio)
else:
self.zoomStack = []
self.fitInView(self.sceneRect(), self.aspectRatioMode)
def resizeEvent(self, event):
self.updateViewer()
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
# MainWindow.resize(1355, 722)
sizePolicy = QtWidgets.QSizePolicy(
QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(MainWindow.sizePolicy().hasHeightForWidth())
# MainWindow.setSizePolicy(sizePolicy)
# ----------------------------------------------------> vvvvvvvvvvvvv <---------
MainWindow.setStyleSheet("background-color: rgb(226, 220, 184);")
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.gridLayout = QtWidgets.QGridLayout(self.centralwidget)
self.gridLayout.setObjectName("gridLayout")
self.frame_7 = QtWidgets.QFrame(self.centralwidget)
self.frame_7.setStyleSheet("background-color: rgb(92, 92, 92);")
self.frame_7.setFrameShape(QtWidgets.QFrame.StyledPanel)
self.frame_7.setFrameShadow(QtWidgets.QFrame.Raised)
self.frame_7.setObjectName("frame_7")
self.gridLayout.addWidget(self.frame_7, 2, 3, 1, 1)
self.frame_4 = QtWidgets.QFrame(self.centralwidget)
# sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Preferred)
# sizePolicy.setHorizontalStretch(0)
# sizePolicy.setVerticalStretch(0)
# sizePolicy.setHeightForWidth(self.frame_4.sizePolicy().hasHeightForWidth())
# self.frame_4.setSizePolicy(sizePolicy)
# self.frame_4.setMinimumSize(QtCore.QSize(325, 0))
# self.frame_4.setMinimumSize(QtCore.QSize(125, 0))
self.frame_4.setStyleSheet("background-color: rgb(92, 92, 192);")
self.frame_4.setFrameShape(QtWidgets.QFrame.StyledPanel)
self.frame_4.setFrameShadow(QtWidgets.QFrame.Raised)
self.frame_4.setObjectName("frame_4")
self.gridLayout.addWidget(self.frame_4, 0, 3, 1, 1)
self.frame_11 = QtWidgets.QFrame(self.centralwidget)
self.frame_11.setStyleSheet("background-color: rgb(92, 92, 92);")
self.frame_11.setFrameShape(QtWidgets.QFrame.StyledPanel)
self.frame_11.setFrameShadow(QtWidgets.QFrame.Raised)
self.frame_11.setObjectName("frame_11")
self.gridLayout.addWidget(self.frame_11, 3, 3, 1, 1)
self.frame_10 = QtWidgets.QFrame(self.centralwidget)
self.frame_10.setStyleSheet("background-color: rgb(92, 92, 92);")
self.frame_10.setFrameShape(QtWidgets.QFrame.StyledPanel)
self.frame_10.setFrameShadow(QtWidgets.QFrame.Raised)
self.frame_10.setObjectName("frame_10")
self.gridLayout.addWidget(self.frame_10, 3, 2, 1, 1)
self.frame_9 = QtWidgets.QFrame(self.centralwidget)
self.frame_9.setStyleSheet("background-color: rgb(92, 92, 92);")
self.frame_9.setFrameShape(QtWidgets.QFrame.StyledPanel)
self.frame_9.setFrameShadow(QtWidgets.QFrame.Raised)
self.frame_9.setObjectName("frame_9")
self.gridLayout.addWidget(self.frame_9, 3, 1, 1, 1)
self.frame_8 = QtWidgets.QFrame(self.centralwidget)
# sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
# sizePolicy.setHorizontalStretch(0)
# sizePolicy.setVerticalStretch(0)
# sizePolicy.setHeightForWidth(self.frame_8.sizePolicy().hasHeightForWidth())
# self.frame_8.setSizePolicy(sizePolicy)
# self.frame_8.setMinimumSize(QtCore.QSize(0, 77))
self.frame_8.setStyleSheet("background-color: rgb(92, 92, 92);")
self.frame_8.setFrameShape(QtWidgets.QFrame.StyledPanel)
self.frame_8.setFrameShadow(QtWidgets.QFrame.Raised)
self.frame_8.setObjectName("frame_8")
self.gridLayout.addWidget(self.frame_8, 3, 0, 1, 1)
self.frame_6 = QtWidgets.QFrame(self.centralwidget)
# sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
# sizePolicy.setHorizontalStretch(0)
# sizePolicy.setVerticalStretch(0)
# sizePolicy.setHeightForWidth(self.frame_6.sizePolicy().hasHeightForWidth())
# self.frame_6.setSizePolicy(sizePolicy)
# self.frame_6.setMinimumSize(QtCore.QSize(0, 127))
self.frame_6.setStyleSheet("background-color: rgb(92, 92, 92);")
self.frame_6.setFrameShape(QtWidgets.QFrame.StyledPanel)
self.frame_6.setFrameShadow(QtWidgets.QFrame.Raised)
self.frame_6.setObjectName("frame_6")
self.gridLayout.addWidget(self.frame_6, 2, 2, 1, 1)
self.frame = QtWidgets.QFrame(self.centralwidget)
# sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed)
# sizePolicy.setHorizontalStretch(0)
# sizePolicy.setVerticalStretch(0)
# sizePolicy.setHeightForWidth(self.frame.sizePolicy().hasHeightForWidth())
# self.frame.setSizePolicy(sizePolicy)
# self.frame.setMinimumSize(QtCore.QSize(200, 53))
self.frame.setStyleSheet("background-color: rgb(92, 92, 92);")
self.frame.setFrameShape(QtWidgets.QFrame.StyledPanel)
self.frame.setFrameShadow(QtWidgets.QFrame.Raised)
self.frame.setObjectName("frame")
self.gridLayout.addWidget(self.frame, 0, 0, 1, 1)
self.frame_5 = QtWidgets.QFrame(self.centralwidget)
self.frame_5.setStyleSheet("background-color: rgb(92, 92, 92);")
self.frame_5.setFrameShape(QtWidgets.QFrame.StyledPanel)
self.frame_5.setFrameShadow(QtWidgets.QFrame.Raised)
self.frame_5.setObjectName("frame_5")
self.gridLayout.addWidget(self.frame_5, 1, 2, 1, 2)
self.frame_3 = QtWidgets.QFrame(self.centralwidget)
# sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Preferred)
# sizePolicy.setHorizontalStretch(0)
# sizePolicy.setVerticalStretch(0)
# sizePolicy.setHeightForWidth(self.frame_3.sizePolicy().hasHeightForWidth())
# self.frame_3.setSizePolicy(sizePolicy)
# self.frame_3.setMinimumSize(QtCore.QSize(334, 0))
self.frame_3.setStyleSheet("background-color: rgb(92, 92, 92);")
self.frame_3.setFrameShape(QtWidgets.QFrame.StyledPanel)
self.frame_3.setFrameShadow(QtWidgets.QFrame.Raised)
self.frame_3.setObjectName("frame_3")
self.gridLayout.addWidget(self.frame_3, 0, 2, 1, 1)
self.frame_2 = QtWidgets.QFrame(self.centralwidget)
# sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Preferred)
# sizePolicy.setHorizontalStretch(0)
# sizePolicy.setVerticalStretch(0)
# sizePolicy.setHeightForWidth(self.frame_2.sizePolicy().hasHeightForWidth())
# self.frame_2.setSizePolicy(sizePolicy)
self.frame_2.setStyleSheet("background-color: rgb(92, 92, 92);")
self.frame_2.setFrameShape(QtWidgets.QFrame.StyledPanel)
self.frame_2.setFrameShadow(QtWidgets.QFrame.Raised)
self.frame_2.setObjectName("frame_2")
self.gridLayout.addWidget(self.frame_2, 0, 1, 1, 1)
# !!! +++
self.label_13 = QtImageViewer() # !!! +++
self.label_13.setObjectName("label_13") # !!! +++
'''
self.label_13 = QtWidgets.QLabel(self.centralwidget)
self.label_13.setEnabled(True)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Expanding)
sizePolicy.setHorizontalStretch(1)
sizePolicy.setVerticalStretch(1)
sizePolicy.setHeightForWidth(self.label_13.sizePolicy().hasHeightForWidth())
self.label_13.setSizePolicy(sizePolicy)
self.label_13.setMinimumSize(QtCore.QSize(640, 480))
self.label_13.setMaximumSize(QtCore.QSize(16777215, 16000000))
self.label_13.setSizeIncrement(QtCore.QSize(0, 0))
self.label_13.setBaseSize(QtCore.QSize(0, 0))
self.label_13.setToolTip("123123")
self.label_13.setStyleSheet("background-color: rgb(159, 159, 159);")
self.label_13.setText("")
self.label_13.setTextFormat(QtCore.Qt.AutoText)
self.label_13.setPixmap(
QtGui.QPixmap("red-apple-fruit-7.png"))
self.label_13.setScaledContents(True)
self.label_13.setAlignment(QtCore.Qt.AlignCenter)
self.label_13.setObjectName("label_13")
'''
self.gridLayout.addWidget(self.label_13, 1, 0, 2, 2, alignment=Qt.AlignCenter)
MainWindow.setCentralWidget(self.centralwidget)
# self.statusbar = QtWidgets.QStatusBar(MainWindow)
# self.statusbar.setObjectName("statusbar")
# MainWindow.setStatusBar(self.statusbar)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", ""))
# +++ vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
class MainWindow(QMainWindow, Ui_MainWindow):
def __init__(self):
super().__init__()
self.setupUi(self)
label_7 = QLabel('frame_7, 2, 3, 1, 1', self.frame_7)
label_4 = QLabel('frame_4, 0, 3, 1, 1', self.frame_4)
label_11 = QLabel('frame_11, 3, 3, 1, 1', self.frame_11)
label_10 = QLabel('frame_10, 3, 2, 1, 1', self.frame_10)
label_9 = QLabel('frame_9, 3, 1, 1, 1', self.frame_9)
label_8 = QLabel('frame_8, 3, 0, 1, 1', self.frame_8)
self.frame_8.setMinimumHeight(15)
label_6 = QLabel('frame_6, 2, 2, 1, 1', self.frame_6)
label_ = QLabel('frame, 0, 0, 1, 1', self.frame)
self.frame.setMinimumHeight(15)
label_5 = QLabel('frame_5, 1, 2, 1, 2', self.frame_5)
label_3 = QLabel('frame_3, 0, 2, 1, 1', self.frame_3)
label_2 = QLabel('frame_2, 0, 1, 1, 1', self.frame_2)
self.gridLayout.setRowStretch(0, 1)
self.gridLayout.setRowStretch(3, 1)
self.gridLayout.setRowStretch(1, 4)
self.gridLayout.setRowStretch(2, 2)
self.gridLayout.setColumnStretch(2, 1)
self.gridLayout.setColumnStretch(3, 1)
self.gridLayout.setColumnStretch(0, 1)
self.gridLayout.setColumnStretch(1, 1)
self.label_13.setStyleSheet("""
#label_13 {
background-color: #e2dcb8;
border: none;
}
""")
self.setMinimumWidth(220)
# +++ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
if __name__ == '__main__':
app = QApplication(sys.argv)
w = MainWindow()
w.show()
sys.exit(app.exec_())
boy33.png









