1
ウィジェットまたはウィジェットの中心にマウスがクリックされた位置にマウスカーソルを置いてください。例えばQGraphicSceneのドラッグアンドドロップ - ウィジェットの中心にあるマウスカーソル
ウィジェットが長方形であり、それはドラッグイベントで、それは下の画像のように表示され、私は中央にクリックしたイベントとドラッグを開始した場合:
されます私がウィジェットを「ピックアップ」するたびに、赤い円が毎回マウスカーソルです。
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()));
}
}
ホー私は、ウィジェットが中心からピケットた場合例えば中央にあるようにカーソルを設定することができます。mousePressEvent
で
、私は何が好きですか?
'setHotspot'は右の関数であるが、それはパラメータではない' QSize'として 'QPoint'をとります。だから、良い解決策は 'drag-> setHotSpot(QPoint(this-> width()/ 2、this-> height()/ 2));'ありがとう。私はあなたの答えを更新し、それを解決策として受け入れます。 – mtb