Я пытаюсь создать следующее окно на PySide:
Мое решение для этого состояло в том, чтобы увидеть его как 3 столбца и реализовать как таковое:
win = pg.GraphicsWindow()
win.resize(200, 500)
l = pg.GraphicsLayout(border='ff0000')
# The Overall layout consists of three columns with widths in the ratio of 1/8, 2/8, 5/8
# ======= col 1
vb = l.addViewBox(col=0, colspan=1, border='00ff00', lockAspect=True, enableMouse=False, invertY=True)
img = QtGui.QGraphicsPixmapItem(QtGui.QPixmap('heart.png')))
vb.addItem(img)
vb.scaleBy(10)
# ======= col 2
top_label = "Percent"
bottom_label = "85"
l_labels = l.addLayout(col=1, colspan=1)
l_labels.addLabel(top_label, row=0, col=0, rowspan=1, colspan=1, size='30pt', bold=True)
l_labels.addLabel(bottom_label, row=2, col=0, rowspan=4, colspan=1, size='200pt', color='606060')
l_labels.setContentsMargins(0, 0, 0, 100)
# ======= col 3
hr_plot = l.addPlot(col=2, colspan=6)
hr_plot.showGrid(x=False, y=True)
pen = pg.mkPen(color='#39e4f8', width=4)
hr_plot.plot(data, pen=pen,
symbol='o',
symbolPen=pen,
symbolBrush='#FFFFFF',
symbolSize=16)
win.addItem(l)
Однако это приводит только к следующему макету:
Моя основная проблема заключается в следующем:
Как настроить ширину первого столбца (возможно, изменив ширину "ViewBox" или любым другим способом)?