2014-06-24 5 views
1

마우스로 QDialog를 표시하는 방법을 알고 싶었습니다. 컨텍스트 메뉴를 어떻게 설정할 수 있는지 알고 있지만 마우스를 올려 놓으면 QDialog를 사용하고 싶습니다.마우스로 QDialog 표시

이 내가

void mouseMoveEvent(QMouseEvent * event) 
{ 
    QPoint p = this->mapFromGlobal(QPoint(0,0)); 
    d->move(p); //d is the dailog 
    d->show(); 
} 

이 대화 상자가 화면의 왼쪽 상단 모서리에 열립니다 (이 분명히 밤은 작업)을하고있는 중이 야 것입니다. 나는 그것이 mouseMoveEvent

답변

0

다른 곳 인 QDialog 만들기가있는 위젯 옆에 열려, 그냥

+0

감사를 통해 당신 맴도는는 QWidget에서) mouseMoveEvent (에서의) (쇼를 호출합니다. 이제 특정 위치에서 QDialog 팝업을 어떻게 만듭니 까? – Rajeshwar

+0

QWidget 문서를 살펴보십시오. http://qt-project.org/doc/qt-5/qwidget.html#pos-prop – tinkertime

+0

아마도 move() 함수가 필요할 것이므로 오프셋으로 설정하십시오. 현재 마우스 위치를 (QCursor :: pos()를 통해) – tinkertime

관련 문제