Название: mouseReleaseEvent в QGraphicsView Отправлено: knf от Декабря 28, 2013, 11:17 Есть поле 4х4 из клеток в QGraphicsView. На вью итемы. Итемы свободно перемещаются по полю. Но надо, чтобы они устанавливались при перемещении в центре клетки. Знаю что надо использовать mouseRelealseEvent, но из-за нехватки знаний Qt не знаю как реализовать. А надо... Прошу помощи:)
Название: Re: mouseReleaseEvent в QGraphicsView Отправлено: Fregloin от Декабря 28, 2013, 15:38 они должны устанавливаться по центру клетки при отпускнии кнопки мыши или как?
Название: Re: mouseReleaseEvent в QGraphicsView Отправлено: knf от Декабря 28, 2013, 17:17 Именно
Название: Re: mouseReleaseEvent в QGraphicsView Отправлено: Racheengel от Января 01, 2014, 21:57 вот примерно так я это у себя делал... m_gridSize - это, соответственно, размер ячейки сетки в пикселях
Код: QList<QGraphicsItem*> selectedList = selectedItems(); Название: Re: mouseReleaseEvent в QGraphicsView Отправлено: knf от Января 10, 2014, 21:05 Нарисовал таким образом сетку, но я так понял, что она бесконечно прокручивается(повторяется) влево, вправо, вниз и вверх, при выходе фишки за границы..
Код: inline qreal MyScene::round(qreal val, int step) Название: Re: mouseReleaseEvent в QGraphicsView Отправлено: knf от Января 10, 2014, 21:11 Код: qreal left = int(rect.left()) - (int(rect.left()) % 50); Название: Re: mouseReleaseEvent в QGraphicsView Отправлено: Racheengel от Января 10, 2014, 21:19 есть чудо-функция setSceneRect(), которая позволяет задать размеры активной области сцены.
именно этот размер будет возвращаться в функции sceneRect(). его и надо использовать для рисования. Название: Re: mouseReleaseEvent в QGraphicsView Отправлено: knf от Января 10, 2014, 21:27 Задал размеры активной области. В каких координатах теперь устанавливать фишки?
blackChip1 = this->addEllipse(0,0,SIZECHIP,SIZECHIP,QPen(Qt::black),QBrush(Qt::black)); Фишки нет blackChip1 = this->addEllipse(10,10,SIZECHIP,SIZECHIP,QPen(Qt::black),QBrush(Qt::black)); Фишки нет. Название: Re: mouseReleaseEvent в QGraphicsView Отправлено: knf от Января 10, 2014, 21:31 Ступил, разобрался.
Не правильно задал область.. |