본문 바로가기
개발/Qt

Q_ENUM vs Q_ENUM_NS

by heidiee 2024. 7. 2.

Qt Framework에서 enum을 메타 객체 시스템에 통합하기 위해 사용한다.

 

Q_ENUM과 Q_ENUM_NS의 큰 차이는

- class 내부에 정의된 enum class 를 등록할 때 사용

- namespace 내부에 정의된 enum class를 등록할 때 사용. 

 

참고로 Qt 5 이전에는 Q_ENUMS라는 매크로를 사용하였는데,

Qt5.5 부터 사용이 권장되지 않으며 Q_ENUM을 대신 사용하라고 한다.

이전의 Q_ENUM과 Q_ENUMS의 차이는

enum class value를 문자열로 변환할 수 있냐 없냐의 차이이기 때문에.. 굳이 문자열로 전환되지 않는

Q_ENUMS를 사용할 필요가 없다.

 

 

'개발 > Qt' 카테고리의 다른 글

QStringLiteral  (0) 2024.07.02