나는 여러 변경 사항을 서로 알리는 여러 Qt 개체를 가지고 있습니다.QT의 여러 연결 개체
세이프 가드없이 서로 연결하면 무한 루프의 신호가 생성됩니다. 오브젝트 A는 오브젝트 B와 C를 변경하고 신호를 보냅니다. B와 C는 각각 A와 C와 B에 신호를 되돌려 보낸다. 신호를 수신 할 때 일시적으로 다른 객체의 연결을 끊고 객체 종류를 거의 업데이트하지 않은 채 다시 연결하면 간신히 여러 종류의 신호로 인해 일시적인 충돌을 포함하는 "거의 종류"가 강조됩니다.
여러 Qt 객체를 안전하고 안정적으로 동기화하는 방법으로 무엇을 권하고 싶습니까?
Qt의 '일반적인'방법은 모델이 공유 데이터를 보유하고 수정에 대한 응답으로 변경된보기를 알려주는 '모델보기'패턴입니다. – sje397
필자의 경우 "모델"에는 GUI, Tcl 인터프리터 변수, C++ 코드에서로드 할 수있는 파일 등 여러 가지 인터페이스가 있습니다. 각 모델은 모델을 변경할 수 있습니다. 예를 들어, 텍스트 위젯은 모델 변경 소스 일 수 있으며 동시에 모델 매개 변수를 표시합니다. Tcl 변수는 사용자가 설정할 수 있으며 (그 당시 모델을 업데이트해야 함)이 변수에 의존하는 흐름에 의해 모델에서 업데이트 될 수 있습니다. – Michael
그건 내게 꽤 평범한 것 같네, 마이클. MVC 패턴은 그런 종류의 물건을 구조화하려는 시도입니다. 모델에는 원하는만큼의 '뷰'가있을 수 있으며 모델의 모든 측면을 고려해야하는 것은 아닙니다. 모델에는 원하는만큼 수정 자 함수를 포함 할 수 있습니다. 요점은 모델이 변경되고 모델에서 알림이 전달된다는 것입니다. 따라서 윤곽을 그리는 원형 문제를 피할 수 있어야합니다. http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller – sje397