이 페이지에서

<QtGlobal> - Global Qt Declarations

<QtGlobal> 헤더 파일에는 다양한 다른 헤더 파일들이 포함되어 있습니다. 더 보기...

Header: #include <QtGlobal>

매크로

상세 설명

Qt 6.5까지 대부분의 Qt 헤더 파일에는 <QtGlobal>이 포함되어 있었습니다. Qt 6.5 이전에는 <QtGlobal>이 다양한 전역 선언을 정의했습니다. Qt 6.5에서는 이들 중 대부분이 별도의 헤더 파일로 이동되었으므로, 소스 코드는 전체를 포함하는 대신 필요한 부분만 포함할 수 있게 되었습니다. 현재 <QtGlobal>은 다른 헤더들(다음 섹션 참조)을 포함하고 있지만, 향후 Qt 릴리스에서는 <QtGlobal>에서 이러한 헤더 중 일부를 제거하거나 버전 확인을 통해 포함 여부를 결정할 수도 있습니다. 마찬가지로, 향후 릴리스에서는 현재 <QtGlobal>을 포함하고 있는 일부 Qt 헤더가 더 이상 이를 포함하지 않을 수도 있습니다. 이를 통해 사용되지 않는 전역 선언을 피함으로써 컴파일 시간을 단축할 수 있을 것으로 기대됩니다.

<QtGlobal>에서 추출된 헤더 목록

헤더요약
<QFlags>enum 값을 결합하는 타입 안전한 방법
<QForeach>Qt의 foreach 및 forever 루프 구현
<QFunctionPointer>함수 포인터 타입에 대한 typedef
<QApplicationStatic>참조: Q_APPLICATION_STATIC
<QGlobalStatic>전역 정적 객체의 스레드 안전 초기화
<QOverload>멤버 함수 오버로드 해결을 위한 헬퍼
<QSysInfo>시스템 정보를 가져오는 헬퍼 클래스
<QTypeInfo>타입 정보를 가져오는 헬퍼
<QtAssert>Q_ASSERT 및 기타 런타임 검사
<QtClassHelperMacros>Qt 클래스 헬퍼 매크로
<QtCompilerDetection>컴파일러별 매크로 정의
<QtDeprecationMarkers>사용 중단 예정 헬퍼 매크로
<QtEnvironmentVariables>환경 변수 처리를 위한 헬퍼
<QtExceptionHandling>예외 처리를 위한 헬퍼
<QtLogging>Qt 로깅 헬퍼
<QtMalloc>메모리 할당 헬퍼
<QtMinMax>값 비교를 위한 헬퍼
<QtNumeric>다양한 수치 함수
<QtPreprocessorSupport>헬퍼 전처리기 매크로
<QtProcessorDetection>아키텍처별 매크로 정의
<QtResource>리소스 초기화 및 정리용 헬퍼
<QtSwap>qSwap()의 구현
<QtSystemDetection>플랫폼별 매크로 정의
<QtTranslation>Qt 번역 헬퍼
<QtTypeTraits>Qt 타입 트레이트
<QtTypes>Qt 기본 유형 선언
<QtVersionChecks>QT_VERSION_CHECK 및 관련 검사
<QtVersion>QT_VERSION_STR qVersion()

매크로 문서

[since 6.8] QT_ENABLE_STRICT_MODE_UP_TO

이 매크로를 정의하면, 최적화되지 않았거나 위험한 것으로 간주되는 여러 Qt API가 비활성화됩니다.

이 매크로의 값은 QT_VERSION_CHECK 의 인코딩 방식을 사용하여 Qt 버전으로 설정해야 합니다. 예를 들어, Qt 6.6으로 설정하려면 QT_ENABLE_STRICT_MODE_UP_TO=0x060600 를 정의하십시오. 이렇게 하면 지정된 Qt 버전까지(해당 버전 포함)의 버전에서 도입된 API만 비활성화됩니다.

QT_DISABLE_DEPRECATED_UP_TO 매크로가 정의되어 있지 않은 경우, QT_ENABLE_STRICT_MODE_UP_TO가 이를 동일한 값으로 정의합니다.

이 매크로는 항상 프로젝트에서 지원하고자 하는 최소 Qt 버전으로 설정해야 합니다.

이 매크로에 의해 비활성화되는 API는 아래 표에 나열되어 있으며, 이를 비활성화하기 위해 사용해야 하는 최소 값도 함께 표시되어 있습니다.

버전비활성화된 API
6.0.0foreach ( QT_NO_FOREACH 참조)
6.0.0QString const char * / 로의 변환 ( 참조) QByteArray QT_NO_CAST_TO_ASCII
6.0.0QByteArray const char * 에 대한 암시적 변환 ( 참조) QT_NO_CAST_FROM_BYTEARRAY
6.0.0QUrl QString 로의 암시적 변환 ( 참조) QT_NO_URL_CAST_FROM_STRING
6.0.0신호-슬롯 연결에서 좁힘 변환 허용 ( QT_NO_NARROWING_CONVERSIONS_IN_CONNECT 참조)
6.0.0Qt 컨테이너용 Java 스타일 이터레이터
6.6.0qExchange() 함수 ( QT_NO_QEXCHANGE 참조)
6.7.0컨텍스트 객체를 받지 않는 QObject::connect 의 오버로드 ( QT_NO_CONTEXTLESS_CONNECT 참조)
6.8.0qAsConst() 함수 ( QT_NO_QASCONST 참조)
6.8.0파일 관련 I/O 클래스의 open() 함수는 [[nodiscard]] 로 표시됩니다( QT_USE_NODISCARD_FILE_OPEN 참조).
6.9.0qsnprintf() 및 qvnprintf() 함수( QT_NO_QSNPRINTF 참조).
6.12.0QPair 타입 별칭 및 qMakePair() 함수 템플릿( std::pair/std::make_pair 사용).
6.12.0공개 Qt 헤더에 포함된 특정 전이적 인클루드(필요한 것만 직접 포함하십시오).
6.12.0QObject::disconnect()에서 const QMetaObject::Connection 인자에 대한 지원 ( QT_NO_DISCONNECT_CONST_CONNECTION 참조)
6.12.0시드(seed)가 없는 ` qHash ` 오버로드 지원 ( QT_NO_SINGLE_ARGUMENT_QHASH_OVERLOAD 참조).

또한, QT_DISABLE_DEPRECATED_UP_TO 설정의 일환으로 개별 API가 비활성화될 수도 있습니다. 자세한 내용은 각 클래스의 문서를 참조하십시오.

이 매크로는 Qt 6.8에서 도입되었습니다.

QT_DISABLE_DEPRECATED_UP_TO, QT_NO_KEYWORDS 및 QT_VERSION_CHECK도 참조하십시오 .

[since 6.0] QT_NO_FOREACH

이 매크로를 정의하면 Qt XML의 ` foreach ` 루프를 사용할 수 없게 됩니다.

이 매크로는 Qt 6.0에서 도입되었습니다.

QT_NO_KEYWORDS도 참조하십시오 .

QT_NO_KEYWORDS

signals 및 slots 과 같이 일반적으로 활성화되어 있는 Qt 전용 키워드를 비활성화하려면 이 매크로를 정의하십시오. 대신 Q_SIGNALS 및 Q_SLOTS 를 사용하십시오.

라이브러리는 공개 헤더에서 Q_ 접두사가 없는 일반 키워드를 사용하지 않도록 하기 위해 이 매크로를 정의해야 합니다.

QT_NO_FOREACH도 참조하십시오 .

© 2026 The Qt Company Ltd. 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.