gpt4 book ai didi

c++ - QGraphicsScene 子类忽略鼠标按下事件

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:36:24 26 4
gpt4 key购买 nike

我有一个 UI 和一个实现 mousePressEvent() 的 QGraphicsScene 子类 GraphicsScene,但是鼠标点击被忽略了。

ui->setupUi(this);
scene = new GraphicsScene(this);
scene->addPixmap(QPixmap::fromImage(someImage));
ui->graphicsView->setScene(scene);
connect(scene, SIGNAL(clicked(QPoint)), this, SLOT(someSlot(QPoint)));

GraphicsScene::mousePressEvent() 未被调用,因此不会发出 clicked() 信号。是否需要设置其他内容才能启用此功能?

更新:

void GraphicsView::mousePressEvent(QMouseEvent *event) {
emit clicked(event->pos());
}

它连接到正确签名的插槽。

最佳答案

mos 关于函数签名的说法是正确的。该功能应该是:

void GraphicsView::mousePressEvent(QGraphicsSceneMouseEvent *event) {
emit clicked(event->pos());
}

而不是

void GraphicsView::mousePressEvent(QMouseEvent *event) {
emit clicked(event->pos());
}

关于c++ - QGraphicsScene 子类忽略鼠标按下事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3549632/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com