성능 분석도구가 여러 가지가 있지만 Qt Creator에서도 제공하는 성능 분석 도구들이 있다. 그중에서 QML Profiler를 사용하여 분석하였다. QML ProfilerQML Profiler는 QML 기반 애플리케이션의 랜더링, JavaScript 실행, 시그널/슬롯 처리 등 QML 엔진이 수행하는 작업들의 성능을 분석해 주는 도구이다. 타임라인과 Flame Graph, 세부 분석 등을 통해 프레임별 렌더링 시간, 애니메이션, JavaScript 함수 실행 시간, 이벤트 처리, 바인딩 등 상세 데이터를 제공해 준다. Qt Creator에서 Analyze 탭에 QML Profiler를 클릭하면 분석이 시작된다. 1. Timeline시간 순으로 메모리 사용, 애니메이션, 컴파일, 생성, 바인딩, 시그널..
개요Qt GUI 프로그램을 만들 때 버튼 클릭으로 프로그램의 언어를 바꾸기 위해서 진행하였다.Qt에는 Linguist라는 툴을 제공하기 때문에 쉽게 다국어 기능을 구현할 수 있다. 사용 환경VMware - Ubuntu 22.04 64bit과정1. qttools 모듈 다운로드cd ~/qt6/srcwget https://download.qt.io/official_releases/qt/6.5/6.5.1/submodules/qttools-everywhere-src-6.5.1.tar.xztar xf qttools-everywhere-src-6.5.1.tar.xz 2. 빌드 디렉토리 생성 및 구성mkdir -p ~/qt6/host-build/qttoolscd ~/qt6/host-build/qttools$HOME/q..
사용환경Raspberry Pi 4 Compute Module + 7인치 GUI에서 진행 라즈베리파이에서 자동 실행시키기GUI환경으로 부팅이 바로 되므로 LXDE의 autostart 기능을 이용해 애플리케이션을 자동 실행하였다. autostart 파일 편집sudo nano /etc/xdg/lxsession/LXDE-pi/autostart 위 2줄은 기본값이고 아래 3번째 줄에 실행파일을 등록해준다. 라즈베리파이를 재부팅하면 시작될 때 자동으로 프로그램도 실행된다. GUI 프로그램 안정적인 종료 및 라즈베리파이 종료프로그램 종료하기onClicked: Qt.quit() qml에서 간단하게 버튼의 onClicked에 Qt.quit()만 하면 프로그램이 꺼지게 된다. 하지만 리소스 정리(cleanUP)를 하고 ..
qt.qpa.xcb: could not connect to display 에러 발생 시점라즈베리파이 IP를 변경하고 원격 실행을 했을 때 아래와 같은 에러가 발생했다. 에러 문구10:43:58: Starting /usr/local/bin/appPLC_Touch on RPI... qt.qpa.xcb: could not connect to display qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found. This application failed to start because no Qt platform plugin could be initialized. Reinstalling the applica..
※ 아래의 내용은 참조 용도로만 사용해야 합니다. 정확한 법적 참고 자료로 사용할 수 없습니다. Qt 라이선스는 LGPL, GPL, Commercial 3가지로 나뉜다. LGPL (Lesser General Public License)특징LGPL 라이선스 하의 Qt 라이브러리는 동적 링크를 통해 사용할 수 있다.애플리케이션이 Qt의 라이브러리를 사용하는 방식이 동적 링크라면 애플리케이션의 소스 코드를 공개할 필요는 없다.정적 링크를 사용하는 경우 애플리케이션 전체 소스 코드를 공개하거나 사용자에게 재링크 가능한 형태로 제공해야 한다.공개 범위애플리케이션이 Qt 라이브러리를 동적으로 링크하고 있다면 해당 애플리케이션의 소스 코드를 공개할 의무가 없다.단, 수정된 Qt 라이브러리 자체의 소스 코드는 공개..
개요목표Ubuntu 22.04(Host PC)에서 Qt 6.5.1 라이브러리를 빌드(크로스 컴파일)하여 Raspberry Pi 4(ARM 보드)에서 Qt 기반 애플리케이션을 실행시키기 크로스 컴파일이란?크로스 컴파일은 개발자가 사용하는 호스트 시스템(일반적으로 x86_64 pc)에서 타깃 시스템(ARM)용 실행 파일(바이너리)을 빌드하는 과정을 말한다. 이를 위해서는 대상 보드(ARM)에 맞는 툴체인(toolchain)과 sysroot 설정이 필요하다. 즉, 호스트와 타깃의 CPU 아키텍처나 운영체제가 다르기 때문에, 일반 컴파일러로는 생성된 바이너리가 타깃에서 실행되지 않는다. 이때, 타깃 시스템에 맞는 컴파일러, 링커, 라이브러리 등을 사용하는 크로스 컴파일 툴체인을 통해 올바른 실행 파일을 생성해..