Russian Qt Forum

Qt => 2D и 3D графика => Тема начата: melana от Май 27, 2009, 18:38



Название: Поворот
Отправлено: melana от Май 27, 2009, 18:38
Здрасти!!! Помогите, плиз, мне нужно повернуть активный QRect на определенный угол. (Как в Visio сделано или  в ворде)


Название: Re: Поворот
Отправлено: Rcus от Май 27, 2009, 19:02
/* Пытается представить себе активацию QRect и ловит sigabrt, уходит разбирать бэктрейс */
Может быть все-таки QGraphicsRectItem? тогда QGraphicsItem::rotate (и заодно почитать про трансформации).


Название: Re: Поворот
Отправлено: BaltikS от Май 28, 2009, 11:42
Уже было, ищи по форуму... Поворот прямоугольника относительно центра...
Вот, это должно быть оно http://www.prog.org.ru/topic_2102_0.html


Название: Re: Поворот
Отправлено: melana от Май 28, 2009, 20:15
смотрела в форуме, попробовала, но у меня на сцене все что попало под прямоугольник поворачивается на заданный угол :(


Название: Re: Поворот
Отправлено: BaltikS от Май 29, 2009, 06:36
Тогда видимо прийдётся разобраться с rotate и translate....ну и без кода тяжело что то советовать....


Название: Re: Поворот
Отправлено: MoPDoBoPoT от Май 29, 2009, 12:09
С rotate и translate не баловался, но всегда можно вспомнить вышку. Вот матрица поворота в двумерном пространстве:
(http://upload.wikimedia.org/math/3/5/1/351c090833644816b1bc6137ae562f5c.png)


Название: Re: Поворот
Отправлено: mal от Июнь 09, 2009, 21:03
а можно еще так  ;)
Код:
QGraphicsItemRect item_rect;
//инициализация поскипана...
...
//поворот
QMatrix matrix;
matrix.rotate(angle);
item_rect.setMatrix(matr);