Как создать виджет наложения, как в Blender в QT C ++?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Как создать виджет наложения, как в Blender в QT C ++?

Сообщение Anonymous »

При создании моего приложения графического рисунка я использую QgraphicsScene и QGraphicsView вместе, чтобы иметь возможность рисовать как бесплатные формы, так и готовые объекты (переопределение QGraphicSitem ). В настоящее время я создаю панель инструментов и хочу разместить ее в QGraphicsView , чтобы она была смещена на 20 пикселей, начиная с верхнего левого угла (примерно как в Blender). Но вот проблема! Поскольку при добавлении панели инструментов в качестве дочернего элемента в виджет QgraphicsView , когда элементы добавляются на сцену, окно -свитки и т. Д., Виджет панели инструментов перерисовывается, что увеличивает стоимость перерыва. Как это может быть оптимизировано, чтобы эффект был таким же, как при работе в блендере? Я также создал отдельную панель инструментов и переместил ее в угол QgraphicsView всякий раз, когда виджет был перемещен, но он не помог.

Код: Выделить всё

QGraphicsView*  const view  = new QGraphicsView(this);
QGraphicsScene* const scene = new QGraphicsScene;
scene->setSceneRect(QRect(-1000, -1000, 2000, 2000));
view->setScene(scene);

MyToolBar* const myToolBar = new MyToolBar(view);
view->move(20, 20);
Я также устанавливаю различные флаги оптимизации, но это тоже не очень помогло.>

Подробнее здесь: https://stackoverflow.com/questions/795 ... er-in-qt-c
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»