Witam, to znowu ja ;]
Chciałbym was poprosić o jeszcze jedną pomoc:
Mam w okienku QGraphicView i chciałbym się dowiedzieć jak można zrobić dynamiczne rysowanie w tym widgecie przez użytkownika, coś takiego jak paint.
Jednak utknąłem na samym rysowaniu, znalazłem gdzieś na google pewne funkcje do poruszania oknem i przerobiłem je do własnych potrzeb:
void Dialog::mousePressEvent(QMouseEvent* event)
{
if(event->button() == Qt::LeftButton)
{
mMoving = true;
}
}
void Dialog::mouseMoveEvent(QMouseEvent* event)
{
if( event->buttons().testFlag(Qt::LeftButton) && mMoving)
{
QPen blackpen(Qt::black);
blackpen.setWidth(5);
mazak = scena->addEllipse(QCursor::pos().rx() ,QCursor::pos().ry(),5,5,blackpen);
mLastMousePosition = event->globalPos();
}
}
void Dialog::mouseReleaseEvent(QMouseEvent* event)
{
if(event->button() == Qt::LeftButton)
{
mMoving = false;
}
}
Ogółem odpowiadają one za stawianie obiektów Ellipse w GraphicVew
I jakby to działa, tylko że program nie reaguje kiedy się kliknie na samo GraphicScene, a tylko na okno.
Chciałbym aby ktoś mi napisał co w tych funkcjach zmienić, tak aby można było kliknąć również na ten widget i narysować elipsę.
Z góry dziękuje za pomoc.