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