Я устанавливаю макет в PyQT5 и хочу, чтобы одно большое изображение с левой стороны отображалось рядом с 3 изображениями, которые составляют 1/3 высоты большого изображения (чтобы объединенные высоты меньшего изображения складываются до высоты большого изображения)
Вот код в классе Layout, который запускается и отображает графический интерфейс. Все изображения загружаются в методе createGridLayout:
class Layout(QDialog):
def __init__(self):
super().__init__()
self.title = 'Imaging'
self.left = 10
self.top = 10
self.width = 800
self.height = 500
self.initUI()
def initUI(self):
self.setWindowTitle(self.title)
self.setGeometry(self.left, self.top, self.width, self.height)
self.createGridLayout()
windowLayout = QVBoxLayout()
windowLayout.setSpacing(0)
windowLayout.addWidget(self.horizontalGroupBox)
self.setLayout(windowLayout)
self.show()
def createGridLayout(self):
self.horizontalGroupBox = QGroupBox()
layout = QGridLayout()
# label is the large image in the grid
label = QLabel(self)
pixmap = QPixmap('snap_1,1.tif') # USE RELATIVE PATH TO IMAGE!
pixmap = pixmap.scaledToHeight(450)
label.setPixmap(pixmap)
# simplified version of the above for small images
label1 = QLabel(self)
label1.setPixmap(QPixmap('snap_1,1.tif').scaledToHeight(150))
label2 = QLabel(self)
label2.setPixmap(QPixmap('snap_1,2.tif').scaledToHeight(150))
label3 = QLabel(self)
label3.setPixmap(QPixmap('snap_1,3.tif').scaledToHeight(150))
# adding images to grid
layout.addWidget(label,1,0)
layout.addWidget(label1,0,1)
layout.addWidget(label2,1,1)
layout.addWidget(label3,2,1)
self.horizontalGroupBox.setLayout(layout)
Все средства обработки изображений жестко запрограммированы для тестирования, что будет учтено позже, но не являются частью этой проблемы.
Итак, я хочу что-то вроде следующего изображения (черные квадраты, представляющие изображение):
![Wanted result](https://i.imgur.com/eIdUYn8.png)
Но то, что я сейчас получаю, выглядит примерно так:
![Current result](https://i.imgur.com/QeaF3Vj.png)