2016-07-02 5 views
1

단일 QQuickItem이있는 QtGuiApplication이 있습니다. 그리고 마우스 포인터가 메인 윈도우 밖에있을 때 마우스 이벤트를 받기를 원합니다. 마우스 포인터는 화면의 아무 곳에 나있을 수 있습니다. 결국 QQuickItem은 마우스 포인터가 응용 프로그램 창 외부에있을 때 마우스 이벤트 (예 : 마우스 이동)를 수신해야합니다.마우스가 응용 프로그램 창 외부에있을 때 QQuickItem이 grabMouse()를 사용한 후에 마우스 이벤트를받지 못합니다.

나는 이것을하기 위해 grabMouse [void QQuickItem :: grabMouse()]를 사용했다. 그러나 나는 원하는대로 효과가 없다. QuickItem은 마우스 포인터가 응용 프로그램 창 안에있을 때만 이벤트를받습니다. 마우스 포인터가 QGuiApplication 경계를 벗어나 자마자 마우스 이벤트가 중지되었습니다.

grabMouse를 읽으면 제 문제가 해결되지만 어떻게 든 해결되지는 않습니다. 누구나 할 수있는 일은 여기 있습니다.

참고 : Quickitem가 마우스가 응용 프로그램

답변

0

을 통해 전달 될 때 MouseMove 이벤트 이벤트를 얻기 시작 grabmouse 사용 후 난 당신이 마우스 이벤트를 수신 할 수 있다고 생각하는 경우 응용 프로그램 창 밖으로 마우스를. OS가 일반적으로 작동하는 방식입니다.

+0

예를 들어 마우스 왼쪽 버튼을 누르고 창 경계 밖으로 드래그 한 다음 오른쪽 버튼을 클릭하면 애플리케이션이 이벤트를 수신합니다. 마우스 왼쪽 버튼을 드래그하는 동안 계속 누르십시오. – SanTosh

+0

@SanTosh, 그것은 당신 OS의 일부 버릇입니다. 그것은 일반적인 행동이 아닙니다. – Velkan