2011-03-01 2 views
0

나는 Qt와 QML에 대해 망설이다.Qt 전화 걸기 대화 상자를 차단 하시겠습니까?

그래서 대화 상자를 표시하고 사용자 입력을 검색하기 위해 차단 호출을하고 싶습니다. 호출은 현재 UI 스레드에 있지 않도록 보장됩니다.

QML을 사용하여 만든 QDeclarativeView 개체가 있습니다. show 메서드()를 사용하여 표시 할 수 있습니다. 하지만 이제는 사용자가 OK/Cancel을 누를 때까지 차단하고 싶습니다.이 시점에서 개체에서 정보를 추출하고 정보를 호출자에게 반환합니다.

그래서 질문은 다음과 같습니다

  • 이 내가 현재 스레드 블록을 어떻게 그렇다면 QT
  • 를 사용하는 합리적인 방법이 있나요?
+0

이것은 잘못되었습니다! – Vladp

답변

1

당신이 인 QDialog로 시작하는 경우에는 대화 상자가 해산 될 때까지 차단하기 위해 간부() 메소드를 사용할 수 있습니다. Declarative View를 대화 상자에 넣을 수 있습니다.

Qt를 합리적으로 사용하는 한, 사용자의 필요에 따라 다릅니다. 대부분의 경우 사용자는 대화 상자를 열어 다른 작업을 계속할 수있는 비 모드 대화 상자를 선호합니다. 블로킹 기능은 비 전형적 윈도우를 표현하는 가장 편리한 방법이 아닙니다. 일반적으로 "올바른"일은 대화 상자를 닫을 때마다 실행되는 핸들러에 신호를 연결하는 것입니다.