我試圖在ScrollHandDrag
打開時更改QGraphicsView
的光標,但似乎不起作用。 我可以改變光標如果我禁用ScrollHandDrag
但不能同時是活躍的,我看不出有什麼我可能是做錯了什麼......在QGraphicsView中更改光標
貝婁是重現該問題的代碼的一部分:
QApplication app(argc, argv);
QGraphicsScene scene;
QRect rectangle(-8, -4, 100, 100);
QPen pen(Qt::blue, 1, Qt::SolidLine);
scene.addRect(rectangle, pen);
scene.setBackgroundBrush(Qt::white);
QGraphicsView vue(&scene);
vue.setFixedSize(250, 250);
//vue.setDragMode(QGraphicsView::ScrollHandDrag);
vue.setCursor(Qt::CrossCursor);
vue.show();
return app.exec();
有沒有讓光標變爲默認值的函數?我嘗試過這樣的事情:'void MyQGraphicsView :: mouseReleaseEvent(QMouseEvent * event) {0} {QGraphicsView :: mouseReleaseEvent(event);如果(m_click) viewport() - > setCursor(Qt :: CrossCursor);如果(m_click) } else { viewport() - > unsetCursor(); } }'而不是有一個手形光標,這是我所期望的,我有箭頭光標。我的問題是:我是否必須設置所有不同的遊標,或者是否有一個函數可以撤銷setCursor? – Leo
@Leo您可以完全註釋掉'enterEvent',然後更改'mouseReleaseEvent',使其具有'viewport() - > setCursor(Qt :: OpenHandCursor);'。 – Anthony
不錯的解決方法 – Chris