Qt 5.15๋ LTS(์ฅ๊ธฐ ์ง์) ๋ฆด๋ฆฌ์ค๋ก ๋ถ๋ฅ๋ฉ๋๋ค. ๋์์ ๋ธ๋์น 5.15์ ๋ํ ์ปค๋ฎค๋ํฐ ์
๋ฐ์ดํธ๋ฅผ ์ํด
์ฃผ์
- ์ด์ ์ฒด์ ์ 3D API์ ์์กดํ์ง ์๋ ์ถ์ํ๋ ๊ทธ๋ํฝ API๋ฅผ ๋ง๋๋ ์์ ์ด ๊ณ์๋์์ต๋๋ค. ์๋ก์ด Qt ๊ทธ๋ํฝ ์คํ์ ํต์ฌ ๊ตฌ์ฑ ์์๋ RHI(๋ ๋๋ง ํ๋์จ์ด ์ธํฐํ์ด์ค) ๋ ์ด์ด๋ฅผ ์ฌ์ฉํ์ฌ OpenGL๋ฟ๋ง ์๋๋ผ Vulkan, Metal ๋ฐ Direct 3D API๋ฅผ ๊ธฐ๋ฐ์ผ๋ก Qt Quick ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ๋ํ๋ ์ฅ๋ฉด ๋ ๋๋ง ์์ง์ ๋๋ค. 5.15์์๋ ์๋ก์ด ๊ทธ๋ํฝ ์คํ์ด "๊ธฐ์ ํ๋ฆฌ๋ทฐ" ์ํ์ ์ต์ ํํ๋ก ์ ๊ณต๋ฉ๋๋ค.
- ์ ์ฒด ๋ชจ๋ ์ง์ ์ ๊ณต
Qt ๋น ๋ฅธ 3D , ์คํ์ ๊ฐ๋ฐ ํ์๊ฐ ์ ๊ฑฐ๋์์ต๋๋ค. Qt Quick 3D๋ 2D ๋ฐ 3D ๊ทธ๋ํฝ ์์๋ฅผ ๊ฒฐํฉํ Qt Quick ๊ธฐ๋ฐ ์ฌ์ฉ์ ์ธํฐํ์ด์ค๋ฅผ ์์ฑํ๊ธฐ ์ํ ํตํฉ API๋ฅผ ์ ๊ณตํฉ๋๋ค. ์๋ก์ด API๋ฅผ ์ฌ์ฉํ๋ฉด QML์ ์ฌ์ฉํ์ฌ UIP ํ์์ ์ฌ์ฉํ์ง ์๊ณ ๋ 3D ์ธํฐํ์ด์ค ์์๋ฅผ ์ ์ํ ์ ์์ต๋๋ค. Qt Quick 3D์์๋ 2D ๋ฐ 3D์ฉ์ผ๋ก ํ๋์ ๋ฐํ์(Qt Quick), ํ๋์ ์ฅ๋ฉด ๋ ์ด์์, ํ๋์ ์ ๋๋ฉ์ด์ ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํ ์ ์์ผ๋ฉฐ, ์๊ฐ์ ์ธํฐํ์ด์ค ๊ฐ๋ฐ์๋ Qt Design Studio๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ด ๋ชจ๋์ QML์ Qt 3D ๋๋ 3D Studio์ ์ฝํ ์ธ ์ ํตํฉํ ๋ ํฐ ์ค๋ฒํค๋์ ๊ฐ์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ณ 2D์ 3D ๊ฐ์ ํ๋ ์ ์์ค์์ ์ ๋๋ฉ์ด์ ๋ฐ ๋ณํ์ ๋๊ธฐํํ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.Qt Quick 3D์ ์ถ๊ฐ๋ ์๋ก์ด ๊ธฐ๋ฅ์๋ ํ์ฒ๋ฆฌ ํจ๊ณผ ์ง์, ๊ธฐํํ ์กฐ์์ ์ํ C++ API, QQuaternion ํด๋์ค ๊ธฐ๋ฐ ํ์ API, ํฌ์ธํธ ๋ผ์ดํธ ์ง์์ด ํฌํจ๋ฉ๋๋ค. Qt Quick 3D์ ๋ค์ํ ๊ธฐ๋ฅ์ ํ๊ฐํ๋ ค๋ฉด
์ค๋น๋ ์กฐ๋ช ์ ํ๊ณผ ์์ค๋ฅผ ๋ณ๊ฒฝํ๊ณ , ๋ณต์กํ ๋ชจ๋ธ์ ์ฌ์ฉํ๊ณ , ํ ์ค์ฒ, ์ฌ๋ฃ ๋ฐ ์คํฐ์จ๋ฆฌ์ด์ฑ์ ์กฐ์ํ๋ ๋ฐฉ๋ฒ์ ๋ณด์ฌ์ฃผ๋ ํน๋ณ ๋ฐ๋ชจ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋๋ค. ๋์์์ ์ ๋ฌธ์ ํ๊ฒฝ Qt Quick 1.5D๋ฅผ ์๋ฒฝํ๊ฒ ์ง์ํ๋ Qt Design Studio 3์ ์ฌ์ฉ์ ์ธํฐํ์ด์ค๋ฅผ ๋์์ธํฉ๋๋ค.
- Qt QML์์ ์์
์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ง์ค๋ Qt 6์ ์ค๋น ์ค์ ๋๋ค. ์ค์น๊ฐ ํ์์ธ ๊ตฌ์ฑ ์์์์ 'required' ์์ฑ์ด ์๋ ์์ฑ์ ์ฌ์ฉํ๋ ๊ธฐ๋ฅ์ด ๊ตฌํ๋์์ต๋๋ค. qmllint ์ ํธ๋ฆฌํฐ๋ QML ์ฝ๋์์ ๋ฐ์ํ ์ ์๋ ๋ฌธ์ ์ ๋ํ ๊ฒฝ๊ณ ์์ฑ์ ๊ฐ์ ํ์ต๋๋ค. ์ฝ๋ฉ ์คํ์ผ ์ง์นจ์ ๋ฐ๋ผ QML ์ฝ๋ ํ์์ ๋ ์ฝ๊ฒ ์ง์ ํ ์ ์๋ qmlformat ์ ํธ๋ฆฌํฐ๊ฐ ์ถ๊ฐ๋์์ต๋๋ค. Qt ์๋์ ๊ณผ QML์ ํธํ์ฑ ๋ณด์ฅ๋ง์ดํฌ๋ก์ปจํธ๋กค๋ฌ . - Qt Quick์์๋ ์ด๋ฏธ์ง ์์์ ์์ ๊ณต๊ฐ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค. Qt Quick Shapes์ ์๋ก์ด PathText ์์๊ฐ ์ถ๊ฐ๋์์ต๋๋ค.
์ปค์ ๋ชจ์ ์์ฑ์ด ํฌ์ธํฐ ํธ๋ค๋ฌ์ ์ถ๊ฐ๋์์ต๋๋ค. ์ด๋ฅผ ํตํด ๋ฐ์คํฌํ ์์คํ ์์ ๋ง์ฐ์ค ์ปค์์ ๋ชจ์์ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค. TableView ๊ธฐ๋ฐ ํ ์ด๋ธ์ ์์ง ๋ฐ ์ํ ํค๋๋ฅผ ๋ ์ฝ๊ฒ ์ถ๊ฐํ ์ ์๋๋ก HeaderView ์์๋ฅผ ์ถ๊ฐํ์ต๋๋ค. - ํด๋ผ์ด์ธํธ ์ธก ์ฐฝ ์ฅ์(CSD) ์ง์์ด ํฌ๊ฒ ํฅ์๋์ด ์ ํ๋ฆฌ์ผ์ด์ ์ด ์์ฒด ์ฐฝ ์ฅ์์ ์ ์ํ๊ณ ์ฐฝ ์ ๋ชฉ ํ์์ค์ ์ฌ์ฉ์ ์ ์ ์ปจํ ์ธ ๋ฅผ ๋ฐฐ์นํ ์ ์์ต๋๋ค.
- ๋ชจ๋ ์์ ํ
Qt ๋กํฐ ๋ Adobe After Effects์ฉ Bodymovin ํ๋ฌ๊ทธ์ธ์ ์ฌ์ฉํ์ฌ JSON ํ์์ผ๋ก ๋ด๋ณด๋ธ ๊ทธ๋ํฝ๊ณผ ์ ๋๋ฉ์ด์ ์ ๋ ๋๋งํ ์ ์๋ ๊ณ ๊ธ QML API๋ฅผ ์ ๊ณตํฉ๋๋ค. QtLottie ๋๋ถ์ ๋์์ด๋๋ ํธ๋ฆฌํ ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ ๋๋ฉ์ด์ ํจ๊ณผ๋ฅผ ์ค๋นํ ์ ์๊ณ , ๊ฐ๋ฐ์๋ ๋ด๋ณด๋ธ ํ์ผ์ QtQuick์ ์ ํ๋ฆฌ์ผ์ด์ ์ธํฐํ์ด์ค์ ์ง์ ์ฐ๊ฒฐํ ์ ์์ต๋๋ค. QtLottie์๋ ์ ๋๋ฉ์ด์ , ์๋ฅด๊ธฐ, ๋ ์ด์ด๋ง ๋ฐ ๊ธฐํ ํจ๊ณผ๋ฅผ ์ํํ๊ธฐ ์ํ ๋ด์ฅ ๋ง์ดํฌ๋ก ์์ง์ด ํฌํจ๋์ด ์์ต๋๋ค. ์์ง์ ๋ค๋ฅธ QtQuick ์์์ ๋์ผํ ๋ฐฉ์์ผ๋ก QML ์ฝ๋์์ ์ ์ดํ ์ ์๋ LottieAnimation QML ์์๋ฅผ ํตํด ์ก์ธ์คํ ์ ์์ต๋๋ค. - Qt WebEngine ๋ธ๋ผ์ฐ์ ์์ง์ด ์ฝ๋ ๋ฒ ์ด์ค๋ก ์
๋ฐ์ดํธ๋์์ต๋๋ค.
Chromium 80 (๋ธ๋์น 5.14์์๋ Chromium 77์ด ์ฌ์ฉ๋์์ผ๋ฉฐ ํ์ฌ ๋ฒ์ ์Chromium 83 ). - Qt 3D ๋ชจ๋์๋ ํ๋กํ์ผ๋ง ๋ฐ ๋๋ฒ๊น ๋๊ตฌ๊ฐ ํฅ์๋์์ต๋๋ค.
- Qt Multimedia์๋ โโ๋ค์ค ํ๋ฉด ๋ ๋๋ง์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- Qt GUI์์ ์ด๋ฏธ์ง ํฌ๊ธฐ ์กฐ์ ๋ฐ ๋ณํ ์์ ์ ์ด์ ๋ง์ ๊ฒฝ์ฐ์ ๋ค์ค ์ค๋ ๋๋ก ์ด๋ฃจ์ด์ง๋๋ค.
- Qt Network์๋ ์ฌ์ฉ์ ์ง์ ์๊ฐ ์ ํ์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ผ๋ฉฐ
์ธ์ ๋ฐ๋ก๊ฐ๊ธฐ TLS 1.3(์ธ์ ํฐ์ผ์ ์ฌ์ฉํ๋ฉด ์๋ฒ ์ธก์ ์ํ๋ฅผ ์ ์ฅํ์ง ์๊ณ ์ธ์ ์ ์ฌ๊ฐํ ์ ์์) - std::function๊ณผ ํจ๊ป ์๋ํ๋๋ก Qt Core, QRunnable ๋ฐ QThreadPool์ ํ์ฑํํ์ต๋๋ค. ๋ค์ํ ํ๋ซํผ์ ํน์ฑ์ ๊ณ ๋ คํ์ฌ ํญ๋ชฉ์ ํด์งํต์ผ๋ก ์ด๋ํ๊ธฐ ์ํ ์๋ก์ด ๋ฉ์๋ QFile::moveToTrash()๋ฅผ ์ถ๊ฐํ์ต๋๋ค.
- ์๋๋ก์ด๋์ฉ Qt์์
์ถ๊ฐ ํ์ผ ์ด๊ธฐ ๋ฐ ์ ์ฅ์ ์ํ ๊ธฐ๋ณธ ๋ํ ์์๋ฅผ ์ง์ํฉ๋๋ค.
์ถ์ฒ : opennet.ru