본문 바로가기
728x90
반응형

C++7

[디자인 패턴] 퍼사드 패턴 ( Facade ) - 퍼사드 디자인 패턴 자동차가 있다.자동차가 앞으로 가는 기능이 필요하다.엔진과 기어 온갖 구동장치 동력전달장치 바퀴까지 수 많은 기계적 움직임을 제어하여 차를 앞으로 보낼 수 있다.운전자가 제어 하기에는 너무 복잡하고 번거롭고 알 필요가 없다.그러므로 운전자는 제어의 모든걸 악셀패달 하나에 연결하여 자동차를 앞으로 보내도록 한다.여기서 악셀패달이 퍼사드클래스 이다.   퍼사드 디자인 패턴의 정의 : 라이브러리 또는 복잡한 프레임워크, 다른 클래스들의 복잡한 집합에 대한 단순화된 인터페이스를 제공 하는 구조적 디자인 패턴이다. 개발중인 프로젝트에 어떠한 기능이 필요하여 라이브러리나 프레임 워크를 도입 해야 할 경우가 생긴다.  이때 프로젝트 메인코드에 해당 라이브러리나 프레임 워크의 초기화 및 셋팅을 .. 2024. 11. 14.
[C++][QT] QWidget Mouse Event QWidget Mouse Event QWidget에서 virtual function으로 해당 마우스 이벤트를 지원한다. virtual void mouseDoubleClickEvent ( QMouseEvent * event ); - 마우스를 더블클릭 했을 경우 발생되는 이벤트이다. virtual void mouseMoveEvent ( QMouseEvent * event ); - 마우스를 움직였을 경우 발생되는 이벤트이다. virtual void mousePressEvent ( QMouseEvent * event ); - 마우스버튼을 누르고 있을 경우 발생되는 이벤트이다. virtual void mouseReleaseEvent ( QMouseEvent * event ); - 마우스버튼을 누르고 손을뗏을 경우.. 2023. 4. 4.
[C++][QT] c1060 컴파일러의 힙 공간이 부족합니다. "c1060 컴파일러의 힙 공간이 부족합니다." 갑작스럽게 컴파일 에러를 내뿜어서 하루종일 매달린 결과 Visual Studio 컴파일러의 문제라기 보단 QT 사용중 과도한 리소스 추가를 할 시 해당 에러가 검출 되는 것을 확인 하였다. 따라서 MS 에서 제시하는 해결방법이 먹히질 않는다. 일단 멀쩡한 코드가 실행이 안되는 현상이기때문에 에러나기 직전 추가된 리소스만 제거를 해주고 재실행 하면 정상 작동 되는 것을 확인 할 수 있다. 리소스 문제 해결 방법으로는 CONFIG += resources_big 를 .pro 파일에 추가 하라고 명시 되있는 문서나 자료들을 찾았지만 어째서인지 문제가 해결되지는 않았다. 추후 리소스를 추가해야할 상황이 오면 찾아서 수정하겠다. (QT CONFIG += resourc.. 2023. 1. 11.
[QT][C++] QButton Focus 제거 ui->myButton->setFocusPolicy(Qt::NoFocus); 해당 버튼의 포커스가 잡히지 않게 설정한다. QWidget의 함수이므로 상속받은 클래스들은 다 사용가능하다. 적절한 설정값을 찾아서 설정해 주자 Qt::TabFocus : 탭으로 포커스를 가져온다. Qt::ClickFocus : 클릭으로 포커스를 가져온다. Qt::StrongFocus : 탭 과 클릭으로 포커스를 가져온다. * macOS에서는 'Text/List focus mode' 일 때 위젯이 탭 포커스를 수락한다는 표시도 표시됩니다. Qt::WheelFocus : Qt::StrongFocus의기능에 마우스 휠의 사용까지 포커스를 가져온다. Qt::NoFocus : 해당한 위젯은 포커스를 가져오지 않는다. 2022. 10. 28.
728x90
반응형