Есть обект QGraphicsEllipseItem, который вращаю с помощью rotate() Нужно в иметь возможность в любой момент определять координаты этого обекта по отношению к сцене. Функции x() y() все время выдают 0. На форуме вроде была похожая тема([Qt] Пара нубских вопросов.), только не смог разобраться.
Вот код
#include <QtGui>
class my : public QGraphicsScene {
public :
my(QObject *parent = 0);
protected :
virtual void keyPressEvent(QKeyEvent *keyEvent);
private :
QGraphicsEllipseItem *item;
};
my::my(QObject *parent)
:QGraphicsScene(parent)
{
this->setSceneRect(0, 0, 600, 600);
item = new QGraphicsEllipseItem(0, this);
item->setRect(QRectF(200, 200, 200, 200));
}
void my::keyPressEvent(QKeyEvent *keyEvent)
{
item->rotate(1);
// qDebug() << item->x() << " " << item->y();
}
int main(int argc, char **argv)
{
QApplication app(argc, argv);
my m;
QGraphicsView v(&m);
v.show();
return app.exec();
}
С функцией тоже mapToScene() не получилось