Qt. Событие клика мыши для QGraphicsRectItem
На graphicsView рисуется прямоугольник, rect = scene->addRect(QRectF(0, 0, 100, 100), pen, brush);
как мне прописать событие клика по нему, например чтобы изменяется label на форме
[code=cpp]
// mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QGraphicsScene>
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow {
Q_OBJECT
public:
MainWindow(QWidget *parent = 0);
~MainWindow();
protected:
void changeEvent(QEvent *e);
private:
Ui::MainWindow *ui;
QGraphicsScene *scene;
QGraphicsRectItem *rect;
QGraphicsItem *item;
private slots:
void RotateItem();
};
#endif // MAINWINDOW_H
[/code]
[code=cpp]
// mainwindow.cpp
#include «mainwindow.h»
#include «ui_mainwindow.h»
#include <QGraphicsItem>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
scene = new QGraphicsScene;
ui->graphicsView->setScene(scene);
QPen pen(Qt::darkGreen);
QBrush brush(Qt::cyan);
rect = scene->addRect(QRectF(0, 0, 100, 100), pen, brush);
item = scene->itemAt(50,50);
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::changeEvent(QEvent *e)
{
QMainWindow::changeEvent(e);
switch (e->type()) {
case QEvent::LanguageChange:
ui->retranslateUi(this);
break;
default:
break;
}
}
void MainWindow::RotateItem()
{
item->setRotation(60);
}
[/code]