Development

Qt5 ์—์„œ Qt6 ๋ณ€๊ฒฝ ์ž‘์—… ๋‚ด์šฉ

JayKim๐Ÿ™‚ 2023. 10. 6. 17:03

์ง€๊ธˆ๊นŒ์ง€ Qt5 ๋กœ ๋งŒ๋“  BerEditor, CertMan ๊ทธ๋ฆฌ๊ณ  CryptokiMan ํ”„๋กœ์ ํŠธ๋ฅผ Qt6์œผ๋กœ ๋ณ€๊ฒฝ ์ž‘์—…์„ ํ•˜์˜€๋‹ค.
์ด๋ฒˆ์— Qt6 ์œผ๋กœ ๋ณ€๊ฒฝ ํ•˜๋ฉด์„œ ์ˆ˜์ •ํ•œ ๋‚ด์šฉ์„ ์ •๋ฆฌ ํ•ด ๋ณด์•˜๋‹ค.
ํ˜„์žฌ ์•„๋ž˜ ๋‚ด์šฉ๋˜๋กœ ๋ณ€๊ฒฝ์„ ํ•ด์„œ ์ปดํŒŒ์ผ์€ ๋˜์—ˆ์ง€๋งŒ ์ข€ ๋” ์‹œ๊ฐ„์„ ๋‘๊ณ  ํ…Œ์ŠคํŠธ๋ฅผ ํ•ด๋ด์•ผ ํ•œ๋‹ค.

๊ธฐ์กด QT๋ฒ„์ „์€ 5.13.2์—์„œ 6.5.3 ๋ฒ„์ „์œผ๋กœ ๋ณ€๊ฒฝ ํ•˜์˜€๋‹ค.

QString sprintf ํ•จ์ˆ˜๊ฐ€ asprintf ํ•จ์ˆ˜๋กœ ๋ณ€๊ฒฝ

-   QString sprint ํ•จ์ˆ˜๊ฐ€ asprintf ํ•จ์ˆ˜๋กœ ๋ณ€๊ฒฝ ๋จ
- ์‚ฌ์‹ค asprintf ํ•จ์ˆ˜์—์„œ 0x08X ๊ฐ™์€ ํฌ๋งท์€ ์ง€์›์ด ์•ˆ๋˜์–ด์„œ ๋ชจ๋‘ QString ๊ณผ arg ๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ณ€๊ฒฝ ํ•จ

QDateTime ํด๋ž˜์„œ์—์„œ Unixํƒ€์ž„ ์ฒ˜๋ฆฌ ํ•จ์ˆ˜ ๋ณ€ํ™˜

-   QDateTime ๋ฉค๋ฒ„ ํ•จ์ˆ˜ setTime_t ๋Š” ์ง€์› ์•ˆ๋˜๊ตฌ setSecsSinceEpoch ๋กœ ๋ณ€๊ฒฝ ํ•จ
-   QDateTime ๋ฉค๋ฒ„ ํ•จ์ˆ˜ toTime_t ๋Š” ์ง€์› ์•ˆ๋˜๊ตฌ toSecsSinceEpoch ๋กœ ๋ณ€๊ฒฝ ํ•จ
- ์‚ฌ์‹ค SecsSinceEpoch API ๊ฒฝ์šฐ QT5 ์—์„œ๋„ ์ง€์› ๋จ

QRegExp ์—์„œ QRegularExpression ํ•จ์ˆ˜ ๋ณ€ํ™˜

-   QRegExp ํด๋ž˜์Šค๋Š” ์‚ฌ๋ผ์ง€๊ณ  QRegularExpression ํด๋ž˜์Šค์™€ QRegularExpressionMatch ํด๋ž˜์Šค ์กฐํ•ฉ์œผ๋กœ ์ •๊ทœ ํ‘œํ˜„์‹ ์ฒ˜๋ฆฌํ•จ
-   ๋‹จ์ˆœ ํŒจํ„ด ์ฒ˜๋ฆฌ๋Š” ํด๋ž˜์Šค ๋ช…๋งŒ ๋ณ€๊ฒฝ ํ•˜์˜€์ง€๋งŒ ํŒจํ„ด ์ผ์น˜ ์œ ๋ฌด๋Š” QRegularExpressionMatch ์™€ ๊ฐ™์ด ์‚ฌ์šฉ ํ•จ.
- QRegularExpression๊ณผ QRegularExpressionMatch ๋Š” QT5์—์„œ๋„ ์ง€์› ๋จ

qSort ํ•จ์ˆ˜์—์„œ std::sort ๋กœ ๋ณ€ํ™˜

-   List์— ๋Œ€ํ•œ ์ •๋ ฌ์„ ์œ„ํ•ด ์‚ฌ์šฉ ํ•˜๋˜ qSort ์ž์ฒด๋Š” ์ง€์› ์•ˆ๋˜๊ณ  std::sort ๋กœ ๋ณ€๊ฒฝ ํ•˜์—ฌ ์‚ฌ์šฉ
- std::sort ๊ฒฝ์šฐ QT5 ์—์„œ๋„ ์ด๋ฏธ ์ง€์› ๋จ

printdialog ๊ธฐ๋Šฅ์—์„œ ๋ณ€๊ฒฝ

-   dlg->addEnableOption ํ•จ์ˆ˜๋ฅผ dlg->setOptions ๋กœ ๋ณ€ํ™˜

ui ํ—ค๋” ํŒŒ์ผ์—์„œ font.setWeight ์ฝ”๋“œ ์ œ๊ฑฐ

-   invalid conversion from 'int' to 'QFont::Weight' ๊ด€๋ จ ์—๋Ÿฌ ๋ฐœ์ƒ
-   ui ํ—ค๋” ํŒŒ์ผ์—์„œ ํ•ด๋‹น ํ•จ์ˆ˜ ์ œ๊ฑฐ ํ•จ

QTextCodec ํด๋ž˜์Šค ์—๋Ÿฌ ๋ฐœ์ƒ

-   #include <QtCore5Compat/QTextCodec> ํ—ค๋” ์ถ”๊ฐ€ ํ•จ
-   ์‹ค์ œ๋กœ Qt6์—์„œ๋Š” ์ง€์› ํ•˜์ง€ ์•Š์ง€๋งŒ Qt5 Compatable ๋ชจ๋“ˆ์„ ์„ค์น˜๊ฐ€ ๋˜์–ด ์ง€์› ํ•˜๋Š”๊ฑฐ ๊ฐ™์Œ

NAME ๊ด€๋ จ ๋ณ€๊ฒฝ

-   QT_CHARTS_BEGIN_NAMESPACE -> QT_BEGIN_NAMESPACE
-   QT_CHARTS_END_NAMESPACE -> QT_END_NAMESPACE
-   QT_CHARTS_USE_NAMESPACE -> QT_USE_NAMESPACE

StyleSheet ์ฒ˜๋ฆฌ ๋ฌธ์ œ

  • Qt6 ์—์„œ๋Š” main.cpp ์—์„œ StyleSheet๋ฅผ ์ ์šฉํ•˜๋ฉด ์ „์ฒด ํฐํŠธ ์„ค์ •์ด ์•ˆ๋˜๋Š” ๊ณณ์ด ์ƒ๊น€
  • ์‚ฌ์šฉํ•˜๋Š” cpp์—์„œ ํ•ด๋‹น Stylesheet ๋กœ ์ ์šฉ ์ฒ˜๋ฆฌ ํ›„ ํ•ด๋‹น ํด๋ž˜์„œ์—์„œ ๋ณ„๋„ ํฐํŠธ ๋‹ค์‹œ ์ง€์ •

์•„๋งˆ๋„ Qt6์—์„œ ๋งŽ์€ ๊ธฐ๋Šฅ์ด ๋ณ€๊ฒฝ ๋˜์—ˆ๋‹ค๊ณ  ๋ณธ๋‹ค.
์—ฌ๊ธฐ์„œ๋Š” ๊ธฐ์กด์— ๋งŒ๋“ค์–ด์ง„ ํ”„๋กœ์ ํŠธ๋ฅผ ๋ณ€๊ฒฝ ํ•˜๋ฉด์„œ ์ˆ˜์ • ํ•œ ๋‚ด์šฉ์„ ๊ธฐ๋ก ํ•˜์˜€๋‹ค.
์•„๋งˆ๋„ ํ…Œ์ŠคํŠธ ํ•˜๋‹ค๊ฐ€ ์ˆ˜์ •์‚ฌํ•ญ์ด ์ƒ๊ธฐ๋ฉด ์ด ๋ฌธ์„œ๋Š” ๊ณ„์† ์—…๋ฐ์ดํŠธ ์˜ˆ์ •์ด๋‹ค.

Qt5์—์„œ๋ณด๋‹ค Qt6์ด ์ข€๋” ์˜ค๋ฅ˜์— ๋Œ€ํ•ด์„œ ์—„๊ฒฉํ•ด์ง„ ๋Š๋‚Œ๋„ ์žˆ๋‹ค.
๊ทธ๋ฆฌ๊ณ  ์ง€๊ธˆ๊นŒ์ง€ MinGW ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐœ๋ฐœ ํ•˜์˜€๋Š”๋ฐ Qt5์—์„œ๋Š” 32bit ์™€ 64bit ๋‘˜๋‹ค ์ง€์›ํ•˜์˜€์ง€๋งŒ.
Qt6์—์„œ๋Š” MinGW 64 bit ์ปดํŒŒ์ผ๋Ÿฌ๋งŒ ์ง€์›ํ•˜์˜€๋‹ค.