1
是否可以创建一个可移动的QGraphicsItem,它是用鼠标右键而不是左键移动的?使QGraphicsItem可以通过鼠标右键而不是左移动
我通过搜索找到的唯一东西是一个线程which suggests using QGraphicsItem::setAcceptedMouseButtons(),我试图将它设置为只接受正确的点击,但随后项目停止了移动。
这是我试过的代码:
QGraphicsScene *scene = new QGraphicsScene(this);
ui->graphicsView->setScene(scene);
QGraphicsRectItem *item = scene->addRect(0, 0, 100, 100);
item->setFlag(QGraphicsItem::ItemIsMovable);
item->setAcceptedMouseButtons(Qt::RightButton);
不幸的是,无论传递给setAcceptedMouseButtons的参数如何,'QGraphicsItem :: mouseMoveEvent'中的代码都是硬连接的,只能移动到左边的按钮上。所以,如果你想要移动到右边的按钮,我想你必须重写'mouseMoveEvent'并自己动手。 –
谢谢,这也是我所怀疑的,尽管我不确定。我可能会尝试过滤事件并替换鼠标按钮来欺骗左键单击的对象,同时过滤出实际的左键单击。 – sashoalm