[Qt] CMakePresets.json, CMakeUserPresets.json
Qt프로젝트 중 CMakeUserPreset.json을 QtCreator에서 적용하는데 어려움을 겪어서, 해당 과정을 남긴다. CMakePresets.json, CMakeUserPresets.jsonCMake를 사용할 때 일반적으로 프로젝트 configure에 대한 설정을 공유할 때 문제가 생긴다. 그렇기에 CMake에서 3.19 버전부터 일반적인 configure 옵션을 지정하고, 다른 사용자와 공유할 수 있는 파일인 `CMakePresets.json`과 `CMakeUserPresets.json`를 지원한다. `CMakePresets.json`과 `CMakeUserPresets.json`은 프로젝트의 root 디렉토리에 위치해야 하며, 포맷자체는 둘 다 똑같으며, 둘 다 필수가 아닌 사용자가 필요하에..
2025.08.20
QT
[QT] QOpenGLShaderProgram의 addShaderFromSourceCode 메서드
QOpenGLShaderProgram이 클래스는 GLSL과 GLSL/ES로 작성된 셰이더 프로그램을 지원한다. QOpenGLShader와 QOpenGLShaderProgram은 vertex shader와 fragment shader를 컴파일하고 링킹하는 세부 작업들로부터 프로그래머를 보호해준다. 다음 예제는 제공된 셰이더 소스코드를 사용하여 버텍스 셰이더 프로그램을 생성하는 것이다. 컴파일 및 링크가 완료되면 셰이더 프로그램은 QOpenGLShaderProgram::bind():를 호출하여 현재 QOpenGLContext에서 활성화된다.QOpenGLShader shader(QOpenGLShader::Vertex);shader.compileSourceCode(code);QOpenGLShaderProgram..
2025.05.18
QT
[QT] QApplication
QApplicationQApplication은 signal-slot을 작동시키는 이벤트 루프를 실행한다. 실행중인 이벤트 루프가 없으면 GUI 컴포넌트에서 발생하는 이벤트는 전혀 전파되지 않으므로 UI는 아무일도 하지 않게 된다. 해당 메인 이벤트 루프는 다음과 같은 것들을 처리한다:사용자 데스크톱 설정 초기화 (예: 폰트, 팔레트, 더블 클릭 간격) 이벤트 마우스, 키보드, 새로고침기존 창 시스템에서 이벤트를 수신하여 관련 위젯으로 전송하는 이벤트 처리sendEvent(), postEvent()를 사용하여 자체 이벤트를 위젯에 전달 가능커맨드 라인 매개변수 처리스타일 관리. QStyle 객체에 캡슐화되며 런타임에 setStyle()을 사용하여 변경 가능translate()를 통해 문자열 현지화clipb..
2025.05.02
QT
no image
[QT] CMake로 환경 설정
환경 설정기존에는 QT 설치 경로를 CMAKE_PREFIX_PATH에 설정한 뒤, find_pacakge를 사용했지만 QT6_ROOT라는 변수를 지정하는 방법도 가능하다고 한다,https://cmake.org/cmake/help/latest/variable/PackageName_ROOT.html 이를 살펴보면, find_package() 커맨드는 CMAKE_PREFIX_PATH도 참고하지만, _ROOT CMake 변수에 지정된 prefix도 검색한다. CMake 3.27 버전부터 추가됐다고 한다.크로스 컴파일하거나 vanila cmake를 사용할 때는 QT6_ROOT 또는 CMAKE_PREFIX_PATH 같은 검색 경로 대신 CMAKE_TOOLCHAIN_FILE을 설정 QT 소스 importing모던 C..
2025.04.30
QT
[QT6] windeployqt를 통한 환경 exe 파일 구동 설정
개요프로젝트의 빌드가 제대로 되었어도, qt로 만든 .exe 프로그램이 실행이 안되는 경우가 존재한다. 에러 메시지“Qt6Wdigetsd.dll가 없어 코드 실행을 진행할 수 없습니다. 프로그램을 다시 설치하면 이 문제가 해결될 수 있습니다.” 이런 에러가 발생 해결 방법QT응용 프로그램을 배포하려면 그냥 windeployqt를 사용하는 것이 권장되는 것 같다. 빌드 시 생성한 실행파일을 단독으로 실행할 수 있도록 필요한 라이브러리를 exe 파일이 있는 경로에 자동으로 추가해주는 툴이다. Release던 Debug던 이런 현상은 생기는 것 같다.실행파일에서 필요한 QT 모듈 자동 분석.dll, .plugins, .qml 등 모든 종속 리소스 복사공식 문서에 따르면 `QTDIR/bin/windeployq..
2025.04.17
QT