1
我希望鼠標光標位於控件或控件中心點擊鼠標的位置。在QGraphicScene上拖放 - 在控件中心的鼠標光標
例如,如果小部件是一個矩形,它是在它看起來像下面的圖片拖動事件,事件,我點擊的中心,開始拖動:
在哪裏每當我「拾起」小部件的時候,紅色圓圈就是鼠標光標。
在mousePressEvent
,我做這樣的事情:
void
myQFrame::mousePressEvent(QMouseEvent* event)
{
if(event->button() == Qt::LeftButton)
{
QDrag* drag = new QDrag(this);
QMimeData* mimeData = new QMimeData;
//....other stuff
drag->setMimeData(mimeData);
QPixmap widgetPixmap(this->size());
this->render(&widgetPixmap, QPoint(), QRegion(this->rect()));
}
}
山楂可我設置光標是在中心,例如,如果小部件是從中心糾察?
'setHotspot'是正確的功能,但它需要一個'QPoint'作爲參數不是'QSize'。所以最好的解決方案是:'drag-> setHotSpot(QPoint(this-> width()/ 2,this-> height()/ 2));'謝謝。我會更新你的答案並接受它作爲解決方案。 – mtb