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