我是QT的新人。现在有一个问题让我感到困惑。
MainWindow中的代码如下:
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
QGraphicsView *view = new QGraphicsView;
QGraphicsScene *scene =new QGraphicsScene;
GraphicsTextItem *item = (GraphicsTextItem*)scene->addText(QString("hello world"));
item->setPos(100,100);
scene->addItem(item);
QGraphicsItem *i = scene->itemAt(120,110);
view->setScene(scene);
view->show();
}
类 GraphicsTextItem 继承 QGraphicsTextItem 和受保护的方法 mousePressDown 重新实现如下:
void GraphicsTextItem::mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event)
{
qDebug()<<"mouseDoubleClickEvent happens";
QGraphicsTextItem::mouseDoubleClickEvent(event);
}
应用程序可以正常工作,但是当我双击 GraphicsTextItem 对象时,GraphicsTextItem 类中的 mouseDoubleClickEvent 没有任何反应。
期待您的回应!