위젯을 비동기식으로 만든 다음 주 스레드 대화 상자에 위젯을 할당하고 싶습니다. 위젯을 만드는 함수가 있습니다.Qt - 위젯을 비동기식으로 작성하는 방법?
이 함수를 동 기적으로 호출하면 모든 것이 예상대로 작동합니다.
auto futureWidget = QtConcurrent::run(createWidget);
내가 QFutureWatcher::finished()
신호를 사용하여 위젯 생성이 완료되면, I 메인/GUI 스레드에서 대화에 그 위젯을 추가하려고 : 나는 비동기 적으로이 함수를 호출 할 때 문제입니다.
테이블에 항목을 추가 할 때 SIGSEG가 충돌하는 경우가 있습니다. 가끔 완료되면 생성 된 위젯이 표시되지 않습니다. 또한 GUI 스레드 외부에서 pixmap을 사용하는 것에 대한 표준 출력에 대한 많은 경고가 있습니다.
Qt의 다른 스레드에서 위젯을 만들 수 있습니까? 가능하다면 어떻게 할 수 있습니까?
매우 자주 묻습니다. 키워드 "Qt thread gui"로 검색해보십시오. –
주 스레드에서 위젯을 만들고 신호/슬롯을 사용하여 나중에 채우는 것이 좋습니다. 더 나은 - [MVC] (http://qt-project.org/doc/qt-4.8/model-view-programming.html)를 사용하십시오. – elmigranto