2011-07-06 2 views
1

응용 프로그램 용 플러그인을 만들고 사용자에게 데이터를 요청하려면 GUI가 응답 성을 유지해야하므로 스레드를 만들어야합니다. 내 기능을 오랫동안 호출하십시오.다른 스레드에서 GUI를 만드는 것을 지원하는 GUI 라이브러리

내가 아는 대부분의 GUI 라이브러리 (wxWidgets, Qt)는 다른 스레드에서 GUI를 만드는 것을 지원하지 않는 것 같습니다. 때로는 끝내기위한 트릭이 있지만 휴대용이 아니거나 보장되지 않습니다.

나는 공식적으로 다른 스레드에서 GUI를 시작하는 것을 지원하는 GUI 라이브러리를 찾고 있습니다. 이 프로젝트의 유일한 요구 사항은 Windows, Linux 및 Mac으로의 이식성과 C 인터페이스 공개입니다. 경량 성을위한 보너스 포인트.

+0

당신은 여기에 많은 것을 묻고 있습니다! 일반적인 해결책은 작업자의 주 스레드와 장기 실행 작업에서 UI를 실행하는 것입니다. 너도 알 잖아. 왜 당신의 문제를 해결할 수 없습니까? –

+0

Tk는 어떨까요? 메시지 대기열에서 명령을 쉽게 수행 할 수 있어야합니다. – whoplisp

답변

0

거의 모든 GUI 라이브러리는 기본 운영 체제의 API에 의존하여 작동합니다. 요구 사항에서 "크로스 플랫폼"으로 전환하면 이제 3 개의 개별 플랫폼을 지원해야하므로 더욱 엄격 해집니다.

이와 같이 모든 (합리적인) GUI 라이브러리가 스레드 선호도를 갖게 될 것입니다.

거의 모든 라이브러리는 다른 스레드에서 작업을 생성하는 것을 지원하며 백그라운드 스레드는 기본 UI 스레드에서 UI가 훌륭하게 반응하는 동안 "처리"를 수행합니다. 사용자의 UI가 아닌 백그라운드 스레드에서 작동하도록 설계를 수정하는 것이 좋습니다.

+0

응용 프로그램을 디자인하지 않았습니다. 다행스럽게도 오픈 소스이지만 내 사례는 매우 특별하며 다른 개발자가 필요한 변경을 수행하는 데 동의 할 것이라고 생각하지 않습니다. – dprogramminglanguagedisposable

+0

@dprogramminglanguagedisposable :이 방법으로 작동하도록 부분을 디자인 할 수 있어야합니다. 다른 응용 프로그램이이를 염두에두고 설계되지 않은 경우에도 ... –

관련 문제