Больше контроля над размещением 3-х изображений в pyqtgraph python - PullRequest
0 голосов
/ 13 ноября 2018

Я схожу с ума, пытаясь понять очень простую вещь, но я не могу разобраться в этом с такой безумной глубокой иерархией окон, макетов, графических макетов, объектов, окон просмотра, изображений, элементов изображения и т. Д.

У меня есть изображение зеленого квадрата в окне 16: 9, и оно выглядит большим и центрированным.Смотрите изображение ниже.enter image description here

С каждой стороны небольшой пробел, и я хотел бы добавить два очень тонких изображения, например, красное и синее ниже.Но я бы хотел:

  • зеленый квадрат, чтобы он не двигался
  • красные, синие и зеленые изображения должны быть одинаковой высоты (такой же высоты, как в предыдущейизображение)
  • красные и синие изображения должны быть центрированы в промежутке слева и справа от зеленого квадрата

Как я могу это сделать?(В идеале я бы сделал это, не вычисляя вручную координаты и не размещая их там!)

enter image description here

Основной код ниже

import pyqtgraph as pg
from pyqtgraph.Qt import QtGui
import numpy as np
#%%
imdatas = [
        np.random.randint(0, 255, [256, 32, 3]) * np.array([1., 0.5, 0.5]),
        np.random.randint(0, 255, [256, 255, 3]) * np.array([0.5, 1.0, 0.5]),
        np.random.randint(0, 255, [256, 32, 3]) * np.array([0., 0.0, 0.1])
]

pg.setConfigOptions(imageAxisOrder='row-major')

_app = QtGui.QApplication([])
win = pg.GraphicsLayoutWidget()
win.show()  

for imdata in imdatas:
    imgv = pg.ImageItem() 
    view = win.addViewBox(lockAspect=True, invertY=True)
    view.addItem(imgv)
    imgv.setImage(imdata)

while True: _app.processEvents()  
...