FAQ
Qt Creator 에 대해 자주 묻는 질문에 대한 답변입니다.
알려진 문제 및 방법 섹션이나 디버깅과 같은 특정 영역에 대한 문제 해결 섹션에서도 질문에 대한 답변을 찾을 수 있습니다.
일반적인 질문
Qt Creator 가 MinGW와 함께 제공되는데, 이 버전을 Qt와 함께 사용해야 하나요?
Qt 버전에 맞게 빌드된 버전을 사용하십시오.
Qt Creator Git, Ninja 또는 컴파일러와 같은 헬퍼 애플리케이션을 찾을 수 없습니다. 어떻게 해야 하나요?
Qt Creator 을 시작할 때 애플리케이션이 시스템 경로에 있는지 확인하세요. 또한 환경설정을 선택하여 애플리케이션에 지정된 설정을 확인하세요. 많은 플러그인은 필요한 도구의 경로 또는 실행 환경을 지정합니다.
환경 설정 편집에 설명된 대로 전 세계적으로 또는 특정 프로젝트 또는 키트에 대해 도구를 찾고 실행할 환경을 지정할 수도 있습니다.
이는 특히 터미널 애플리케이션이 아닌 데스크톱에서 Qt Creator 을(를) 시작할 때(예: macOS의 Finder, Dock 또는 Spotlight 또는 Gnome의 Dock, Dash 또는 활동 개요에서) 유용합니다. 이 경우 시작된 애플리케이션은 셸에 대해 설정한 환경(터미널 애플리케이션이 사용하는 환경)을 상속하는 것이 아니라 launchd (macOS) 또는 gnome-shell (Gnome)에서 상속합니다. 즉, 데스크톱에서 시작한 경우 터미널에 대해 설정한 경로(예: macOS의 경우 /usr/local/bin 또는 /opt/homebrew/bin )는 Qt Creator 에서 자동으로 사용할 수 없습니다.
신고한 문제가 해결되었나요?
예. Qt 프로젝트 버그 트래커에서 모든 문제를 찾을 수 있습니다.
Qt Widgets 디자이너 통합 관련 질문
독립형 Qt Widgets 디자이너에서 작동하는데도 Design 모드에서 사용자 지정 위젯이 로드되지 않는 이유는 무엇인가요?
Qt Widgets 디자이너는 표준 위치에서 플러그인을 가져와 빌드 키와 일치하는 플러그인을 로드합니다. 독립형 및 통합 Qt Widgets 디자이너의 위치는 다릅니다.
자세한 내용은 Qt Widgets 디자이너 플러그인 추가하기를 참조하세요.
QML 및 Qt Quick 질문
모듈이 있는데도 QML 가져오기 아래에 빨간색 줄이 있는 이유는 무엇인가요?
기본적으로 Qt Creator 은 Qt의 QML 가져오기 경로에서 QML 모듈을 찾습니다. 때로는 제대로 찾지 못하여 모듈이 어디에 있는지 알려줘야 하는 경우가 있습니다. qmake를 빌드 시스템으로 사용하는 경우 애플리케이션의 .pro 파일에 QML_IMPORT_PATH 을 지정하세요. CMake를 사용하는 경우 CMakeLists.txt 파일에 set 명령을 추가합니다.
이렇게 하면 QML 코드의 코드 완성을 활성화하고 오류 메시지를 제거할 수 있습니다.
다음 예는 다른 대상 플랫폼에 대한 빌드 및 실행 키트 간에 전환할 때 작동하도록 qmake 프로젝트의 가져오기 경로를 지정하는 방법을 보여줍니다:
TEMPNAME = $${QMAKE_QMAKE} MY_QTPATH = $$dirname(TEMPNAME) QML_IMPORT_PATH += $$MY_QTPATH/../qml message("my QML Import Path: "$$QML_IMPORT_PATH)
CMake 프로젝트의 가져오기 경로를 설정하는 방법에 대한 자세한 내용은 QML 모듈 가져오기를 참조하세요.
Qt Creator 에서 OpenGL 지원이 누락되었다고 불평하면 어떻게 해야 하나요?
QML Profiler 과 같은 Qt Creator 의 일부 부분에서는 드로잉을 위해 OpenGL API에 의존하는 Qt Quick 2를 사용합니다. 안타깝게도 OpenGL을 사용하면 특히 원격 설정이나 오래된 드라이버에서 문제가 발생할 수 있습니다. 이러한 경우 Qt Creator 에서 OpenGL 관련 오류 메시지를 콘솔에 표시하거나 Windows 디버거 로그에 기록합니다.
설정에 따라 수정 및 해결 방법은 다릅니다. 최후의 수단으로 영향을 받는 플러그인을 비활성화할 수 있습니다.
가상 머신
가상 머신의 설정에서 3D 가속을 활성화해 보세요. VirtualBox의 경우 실험적인 Direct3D 지원을 포함하여 게스트 애드온을 설치했는지 확인하세요.
Windows
기본적으로 Qt Quick 은 Direct3D 11을 사용합니다. 문제가 있는 경우 그래픽 드라이버를 업데이트하거나 DirectX 버전을 업데이트하세요. dxdiag.exe 을 실행하여 Direct3D 가속이 실제로 활성화되어 있는지 확인하세요.
QSG_RHI_BACKEND 환경 변수를 vulkan 또는 opengl 로 설정해 볼 수도 있습니다. 자세한 내용은 Windows용 Qt - 그래픽 가속을 참조하십시오.
Unix
glxgears 을 실행하여 OpenGL이 일반적으로 작동하는지 빠르게 확인하세요. glxinfo 의 출력을 확인하여 OpenGL 드라이버 및 렌더러와 같은 자세한 정보를 확인하세요(애플리케이션의 출력에서 OpenGL 검색).
Mesa 드라이버를 사용하는 경우 LIBGL_ALWAYS_SOFTWARE 환경 변수를 설정하여 소프트웨어에서 OpenGL이 강제로 렌더링되도록 할 수 있습니다.
플러그인 비활성화하기
Qt Creator 플러그인을 비활성화하면 기능이 손실될 수 있습니다:
- 명령줄에서
-noload QmlProfiler -noload QmlDesigner인수를 사용하여 Qt Creator 을 실행합니다. - Help > About Plugins 을 선택하여 플러그인을 영구적으로 비활성화합니다.
도움말 질문
Qt API 참조 문서가 누락되어 있고 컨텍스트 도움말에서 주제를 찾을 수 없습니다. 어떻게 해야 하나요?
Qt 버전 및 Qt 설명서를 설치한 후 Qt Online Installer.
설치된 문서(.qch 파일)를 보고 문서를 추가하려면 환경설정 > Help > Documentation 으로 이동하세요. 자세한 내용은 외부 문서 추가하기를 참조하세요.
디버거 관련 질문
디버거 문제 해결에 대한 자세한 내용은 디버거 문제 해결을 참조하세요.
GDB 버전을 선택할 수 있는 경우 어떤 버전을 사용해야 하나요?
Linux 및 Windows에서는 Qt Creator 및 Qt를 설치할 때 설치되는 Python 지원 GDB 버전을 사용합니다. macOS에서는 GDB가 더 이상 공식적으로 지원되지 않습니다. 직접 Python 지원 GDB를 구축하려면 GDB 구축하기의 지침을 따르세요.
Python 버전 2.6 또는 2.7을 사용해야 합니다.
자세한 내용은 지원되는 디버거를 참조하세요.
Qt Creator 에서 코어 파일을 생성하려면 어떻게 하나요?
디버깅하는 동안 코어 파일을 생성하는 GDB 명령을 트리거하려면 View > Views > 디버거 로그로 이동하세요. Command 필드에 gcore 을 입력하고 Enter를 선택합니다. 코어 파일이 현재 작업 디렉터리에 생성됩니다. 명령의 인수로 상대 경로 또는 절대 경로를 포함하여 파일의 다른 위치를 지정할 수 있습니다.
컴파일러 관련 질문
Qt Creator 에서 멀티코어 CPU를 사용하려면 어떻게 해야 하나요?
Linux 및 macOS에서는 Projects 모드로 이동하여 Build Settings 에서 구성을 선택하고 Build Steps 을 찾은 다음 다음 값을 추가합니다(여기서 <num> 은 CPU의 코어 수입니다): -j <num>
Windows의 경우 nmake는 -j 매개변수를 지원하지 않습니다. 대신 jom을 사용할 수 있습니다. Qt 다운로드에서 미리 컴파일된 jom 버전을 다운로드할 수 있습니다. 경로% 위치에 jom.exe 을 입력합니다. Build Settings 로 이동하여 jom.exe 을 make 명령으로 설정합니다.
참고: GNU make와 달리 jom은 자동으로 코어를 감지하고 CPU의 코어 수만큼 병렬 프로세스를 생성합니다. 위에서 설명한 대로 -j 매개변수를 사용하여 이 동작을 재정의할 수 있습니다.
Qt 설치 관련 질문
바이너리 패키지로 설치한 Qt에서 QSslSocket을 사용할 수 없습니다. 어떻게 해야 하나요?
바이너리 패키지의 Qt는 QT_NO_OPENSSL이 정의된 상태로 빌드됩니다. 다시 빌드할 수 있습니다. 자세한 내용은 http://www.qtcentre.org/threads/19222-Qssl 을 참조하세요 .
우분투나 데비안에서 배포판의 어떤 개발 패키지가 필요합니까?
sudo apt-get install libglib2.0-dev libsm-dev libxrender-dev libfontconfig1-dev libxext-dev
QtOpenGL을 사용하는 경우 필요합니다:
sudo apt-get install libgl-dev libglu-dev
플랫폼 관련 질문
Qt Creator 에서 애플리케이션 출력은 어디에 표시되나요?
Unix(Linux 및 macOS): qDebug() 및 관련 함수는 표준 출력 및 오류 출력을 사용합니다. 애플리케이션을 실행하거나 디버깅할 때 애플리케이션 출력에서 출력을 볼 수 있습니다.
입력이 필요한 콘솔 애플리케이션의 경우 Projects > Run Settings > Run in terminal 을 선택합니다. 사용할 터미널을 지정하려면 환경설정 > Environment > System 을 선택합니다. 내부 터미널을 사용하려면 환경설정 > Terminal > Use internal terminal 을 선택합니다.
Windows의 경우: 콘솔 응용 프로그램과 GUI 응용 프로그램의 출력은 다르게 표시됩니다.
qmake 프로젝트의 경우 .pro 파일의 CONFIG += console 설정은 애플리케이션이 다른 런타임을 사용하여 콘솔 애플리케이션으로 빌드되도록 지정합니다.
이는 CMake 프로젝트의 표준 동작입니다. Windows에서 GUI 애플리케이션을 만들거나 macOS에서 애플리케이션 번들을 만들려면 CMakeLists.txt 파일에서 qt_add_executable 명령에 WIN32 또는 MACOSX_BUNDLE 속성을 지정해야 합니다.
콘솔 애플리케이션을 실행하면 호출하는 애플리케이션의 콘솔 창에서 출력을 볼 수 있습니다. 호출하는 애플리케이션이 GUI 애플리케이션(예: 릴리스 빌드 버전 Qt Creator)인 경우 새 콘솔 창이 열립니다. 이러한 유형의 애플리케이션의 경우 qDebug() 및 관련 함수는 표준 출력 및 오류 출력을 사용합니다.
콘솔 애플리케이션의 경우 Projects > Run Settings > Run in terminal 을 선택하는 것이 좋습니다.
GUI 애플리케이션의 경우 qDebug() 및 관련 함수는 Windows API 함수 OutputDebugString() 를 사용합니다. 출력은 Application Output 에 표시되지만 Qt Creator 은 한 번에 하나의 소스에서만 출력을 표시해야 올바르게 표시될 수 있습니다. Windows용 DebugView와 같은 외부 디버그 출력 뷰어를 사용하여 GUI 애플리케이션의 출력을 표시할 수 있습니다.
새로운 기능에 관한 질문
요청한 기능이 구현되나요?
예정된 기능인 경우에는 작업 트래커에서 확인할 수 있습니다. 기능이 이미 구현된 경우에는 다음 릴리스의 변경 파일에 언급되어 있습니다.
Qt Creator 에서 기본적으로 편집기용 탭을 사용하지 않는 이유는 무엇인가요?
탭을 기본적으로 사용하지 않는 주요 이유는 다음과 같습니다:
- 탭은 확장되지 않습니다. 5~6개의 편집기가 열려 있으면 잘 작동하지만 10개가 되면 번거로워지고 탭 표시줄보다 더 많은 가로 공간이 필요하면 인터페이스가 전혀 작동하지 않습니다.
- 탭이 작업 세트에 맞지 않습니다.
- 일반적인 해결책은 사용자에게 탭을 재정렬할 수 있는 기능을 제공하는 것입니다. 이제 사용자는 코드를 작성하는 대신 탭을 관리해야 합니다.
- 탭을 사용하면 열려 있는 편집기의 양을 제한해야 하는데, 그렇지 않으면 혼란스러워지기 때문입니다.
다음 사용 사례를 생각해 보세요: 개발자가 에디터를 전환하려는 경우.
사실 개발자는 에디터를 전환하고 싶지 않지만 작업을 수행하기 위해 전환해야 할 수도 있습니다. 개발자가 작업을 수행하는 동안 더 나은 탐색 방법을 제공하려면 어떤 작업이 있는지 파악해야 합니다.
많은 사용 사례의 공통적인 요소 중 하나는 열려 있는 파일 세트에서 작업하는 동안 편집기를 전환하는 것입니다. 사용자는 파일 A와 B에서 작업하는 동안 파일 C를 확인해야 할 때가 있는데, 이때 Ctrl+Tab을 선택하여 파일 사이를 이동하고 파일 유형에 따라 올바른 편집기에서 파일을 열 수 있습니다. 목록은 마지막으로 사용한 순서대로 정렬됩니다.
일반적으로 사용자는 서로 다른 파일에 정의되거나 선언되어 있더라도 관련된 여러 클래스나 함수에서 작업하기도 합니다. Qt Creator 에서는 이를 위한 두 가지 단축키를 제공합니다: 커서 아래의 기호를 따라가려면 F2를, 참조를 찾으려면 Ctrl+Shift+U를 누르세요.
또한 개발자는
- F4를 선택하여 헤더와 소스 사이를 전환합니다.
- Alt+왼쪽을 선택하여 탐색 기록에서 뒤로 이동합니다.
- 로케이터(Ctrl+K)를 사용하여 Qt Creator 로 이동할 위치를 간단히 알려줍니다.
로케이터는 파일을 여는 데 사용할 수 있지만, 파일을 여는 것은 작업을 수행하는 과정의 한 단계일 수도 있습니다. 예를 들어 다음 사용 사례를 살펴보세요: someclass.cpp/someclass.h에서 제공되는 SomeClass의 AFunction을 수정합니다.
탭 사용자 인터페이스를 사용하는 경우 개발자는 탭 표시줄에서 someclass.cpp 을 검색한 다음 ::AFunction 을 검색하지만 해당 파일에 함수가 없다는 것을 알 수 있습니다. 그런 다음 탭 표시줄에서 someclass.h 을 검색하여 해당 함수가 인라인에 있음을 확인하고 문제를 해결한 후 어디서 왔는지 잊어버리곤 했습니다.
개발자는 Qt Creator 에 Ctrl+K m AFun 을 입력하여 함수를 찾을 수 있습니다. 일반적으로 함수 이름은 3~4자만 입력하면 됩니다. 그런 다음 문제를 해결하고 Alt+Back을 선택하여 원래 위치로 돌아갈 수 있습니다.
다른 찾기 필터로는 클래스의 경우 c, 모든 심볼의 경우 :, 현재 파일의 심볼의 경우 . 등이 있습니다.
열려 있는 문서 사이를 전환하는 또 다른 방법은 Open Documents 보기에서 문서를 선택하는 것입니다.
편집기에서 탭을 계속 사용하려면 환경설정 > Environment > Interface 으로 이동한 다음 Use tabbed editors 을 선택합니다.
Copyright © The Qt Company Ltd. and other contributors. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.