문제

QT 및 OpenGL과 함께 프로젝트를 만들었습니다.

QT에서 Paintgl ()에서 반복적으로 I Beleive 호출을 받았으므로 해당 함수 이외의 값을 변경하고 update ()를 호출하여 새 이미지를 페인트 할 수있었습니다. 또한 프로그램을 시작하자마자 초기화 글 ()이라고 생각합니다.

이제 내 질문은 다음과 같습니다.

다른 프로그램에서 동일한 기능을 원합니다. 이미지 등을 그릴 필요는 없습니다. 나는 단지 페인트 글 ()과 같은 기능을 계속 호출하여 응용 프로그램이 닫히지 않는 기능을 만들 수있는 방법이 있는지 궁금했습니다. 나는 프로그램을 계속 실행하는 시간 (True) 루프를 사용하려고 시도했지만 GUI는 While 루프 때문에 비활성 상태였습니다.

스레딩 이외의 모든 팁.

감사.

도움이 되었습니까?

해결책

정확한 메커니즘은 사용중인 GUI 툴킷에 따라 다릅니다. 일반적으로 앱은 이벤트를 발송하기 위해 지속적으로 런 루프를 서비스해야합니다. 그렇기 때문에 앱이 while 고리.

끊임없이 다시 칠한 것이 필요한 경우, 가장 쉬운 방법은 창을 만들 때 타이머를 만드는 것입니다. 그런 다음 타이머조차 처리기 또는 콜백에서 리 페인트를 강요하는 창을 무효화합니다. 그런 다음 페인트 핸들러는 초당 25 회와 같은 타이머의 주파수에서 호출 할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top