Вот что я хочу сделать.Как выровнять прямоугольник слева от QGraphicsView без масштабирования сцены?
Мне нужно нарисовать в QGraphicsView ряд прямоугольников, которые выровнены влево и вправо. Под этим я подразумеваю, что если прямоугольник i имеет позицию (0, y), прямоугольник i + 1 должен иметь положение (0, max), где max таков, что правая сторона прямоугольника «касается» правой части QGraphicsView.
При изменении размера окна мне нужно пересчитать значение max так, чтобы прямоугольник всегда касался правой стороны экрана.
Вот как я добавляю свою сцену (это ссылается на класс, который наследует QGraphicsView)
scene = new QGraphicsScene(this);
this->setScene(scene);
this->setAlignment(Qt::AlignTop|Qt::AlignLeft);
Чтобы добавить прямоугольник, который прикасается левую границу я добавить его (0, yvalue, ширина, высота).
Как рассчитать значение X, чтобы прямоугольник коснулся правой границы?
Можете ли вы использовать QML? Недавно я переключился с QGraphicsView на QML для рисования таких вещей, и влияние производительности огромно. – cheez
Я даже не знаю, что такое QML ... если честно. Я использую Qt 5.1.1. это доступно? Как насчет совместимости? Я забочусь об этом больше, чем о производительности ... – aarelovich
О, тогда вам это понравится: https://doc.qt.io/qt-5/qmlapplications.html Совместимость прекрасна. Я отправляю приложения QML на 3 настольных компьютерах, но для этого я использую Qt 5.6. Я не мог рассказать вам историю совместимости с Qt 5.1.1. – cheez