나는 바닐라 C++ 응용 프로그램의 GUI 개발에 대해 알고 싶어요. 나는 대부분 명령 줄 응용 프로그램에서 경험이 있습니다. 지금까지 C++ gui에서의 나의 경험은 cout과 cin이다. 나는 WPF에서 약간의 경험을 가지고있다. (나는 단지 GUI 경험이 있다고 언급한다.) 이것이 나의 수준의 GUI 경험을 묘사하기를 희망한다. 이제 3D 디스플레이의 가능성을 가진 별도의 GUI가 필요한 애플리케이션을 개발하고 싶습니다. 물론 GUI API에 대한 선택 중 하나는 Qt입니다. 또한 인터넷에서 많은 정보를 읽은 후에는 코드 분리가 미래에 정말 도움이 될 것이라고 생각합니다.모범 사례 ++ 응용 프로그램
그래서 여기 내 질문에 간다 : 내 논리를 가능한 한 제네릭 (내 논리에서 winapi 또는 qt를 사용하지 않음)로 유지하고 GUI 부분 만 API (winapi 또는 qt)라고하면 가능합니까? 또는 로직 섹션에서 로직과 GUI 간의 동기화에 대한 코드를 추가해야합니다. 하나는 신호 및 Qt에서 슬롯이 가능하지만 신호와 슬롯을 아는 한 Qt 특정 있습니다 말할 수 있습니다. 표준 C++가 아닙니다. 여름에
, 내 질문에 난 내 논리가 표준 C++에 할 수있다 만 디자인 플랫폼 특정 GUI (독립 플랫폼/프레임 워크를 유지하기 위해)? 그렇다면 링크 또는 설명서 또는 도서를 제안 해주십시오. 샘플 코드 또는 구현은 'a wish come true'가 될 것입니다. 또한 코드 분리 전술에 대한 통찰력이 도움이 될 것입니다.
감사합니다!
편집 : 내 문제를 자세히 설명합니다. 별도의 GUI 및 논리 섹션이있는 응용 프로그램이 있습니다. gui는 WinAPI를 사용하고 사용되는 통신 모드는 Windows 메시지이므로 이전 사용자는 Logic에서 GUI와 통신하는 HWND 객체를 만들었습니다. 따라서 Logic에는 HWND가 있고 GUI에는 HWND가 있습니다. 나는이 접근법을 만족스럽지 못하다. 이유 중 하나는 로직 부분이 나중에 프로그래머가 아닌 사람에 의해 편집된다는 것입니다 (상수의 수정 또는 매개 변수 또는 반환 값을 변경하지 않고 기능 구현 변경). 그래서, 나는 단지 로직을 표준 포맷으로 유지하려고한다. 그래서 다시 한 번, C++ 및 GUI의 비즈니스 로직을 설계하는 데 도움을 줄 수 있습니다.
모델보기 컨트롤러 '패턴'및 표현 추상화 제어 '패턴'을 검색하십시오. 이것은 당신을 도울 것입니다. – PermanentGuest
@PermanentGuest이 디자인 패턴을 알고 있습니다. 내가 찾고있는 것은 API가 아닌 C++ 구현이다. – user21071987
@ user21071987 "논리 형식을 표준 형식으로 유지"에 대한 의견 : 신호 및 슬롯을 몇 개 소개하면 코드에 많은 영향을 미치지 않습니다. 또한 C++을 사용하면 클래스를 직접 작성할 수 있습니다. Qt 클래스는 그 클래스와 다릅니다. 하나는 멤버 함수를 찾아야하고 어쨌든 그런 것들을 찾아야합니다 ... – HWende