2015-12-13 3 views
1

Я пытаюсь создать собственный виджет с QGraphicsScene и элементом pixmap в нем. Я вижу свой элемент, но внутри сцены есть прямоугольник. Я узнал, что это прямоугольник сцены. Как я могу запретить Qt рисовать прямоугольник сцены?Qt QGraphicsScene visible scene rectangle

QGraphicsView* view = new QGraphicsView(this); 
QGraphicsScene* scene = new QGraphicsScene(view); 
QGraphicsPixmapItem* pix1 = new QGraphicsPixmapItem(QPixmap(":/images/img/img1.png")); 
scene->addItem(pix1); 
view->setScene(scene); 

Output 1

scene->setSceneRect(0, 0, 250, 150); 

Output 2

ответ

0

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

Я думаю, что, возможно, то, что вы видите, это края QGraphicsView, которые оказывают вашу сцену. Есть свойства, которые вы можете установить на свой объект QGraphicsView, который определяет «внешний вид» вашего представления.

Надеюсь, что здесь я не ошибаюсь, но если это границы вашего QGraphicsView, которые вы видите, вы можете удалить их, вызвав функцию setViewportMargins(), которую он наследует от QAbstractScrollArea.

Надеюсь, это поможет. Ура!

+0

спасибо. Это была проблема. Я решил это, сделав Graphicsview без полей. Я думал, что это граница сцены, так как вид изменяет размеры, чтобы покрыть сцену. – Emrah

Смежные вопросы