Qt ではじめるクロスプラットフォームアプリケーション開発

Qt ではじめるクロスプラットフォームアプリケーション開発

オープンソースカンファレンス 2014 Tokyo/Fall でのセミナー資料になります。
https://www.ospn.jp/osc2014-fall

B696e9347149e244ae6f6fd85e035cca?s=128

Tasuku Suzuki

October 18, 2014
Tweet

Transcript

  1. Qt Ͱ͸͡ΊΔ ΫϩεϓϥοτϑΥʔϜ ΞϓϦέʔγϣϯ։ൃ Tasuku Suzuki 2014-10-18 @ OSC Tokyo/Fall

  2. ࣗݾ঺հ ླ໦ ༎(Tasuku Suzuki) http://qt5.jp/ ೔ຊ Qt Ϣʔβʔձ ॴଐ Qt

    ͷษڧձΛຖ݄։࠵͍ͯ͠·͢ Qt Ͱ৭ʑ։ൃ͍ͯ͠·͢ Qt ࣗମͷ։ൃ΋ͨ·ʹ͍ͯ͠·͢
  3. ࠓ೔͸ Qt ͷ঺հΛ͠·͢ Qt ͰΞϓϦέʔγϣϯ։ൃΛ͢Δํ๏ C++ ͷΫϥεϥΠϒϥϦ QtQuick ͱݺ͹ΕΔ৽͍͠ UI

    ։ൃख๏ Qt ͷ։ൃମ੍ ೔ຊͷ Qt ͷίϛϡχςΟͷ঺հͱ͓༠͍
  4. Qt ͱ͸ʁ ؆୯ͰΘ͔Γ΍͍͢ C++ ͷΫϥεϥΠϒϥϦ ͱ ΞϓϦέʔγϣϯ։ൃπʔϧ

  5. Qt Ͱ࡞ΒΕ͍ͯΔ΋ͷ

  6. Qt Ͱ࡞ΒΕ͍ͯΔ΋ͷ

  7. qt.io

  8. qt.io Qt ͷ΢ΣϒαΠτ Φʔϓϯιʔε൛͸ qt-project.org ඇΦʔϓϯιʔε൛͸ qt.digia.com ͱ͍͏ϑϥάϝϯςʔγϣϯΛղܾ͢ΔͨΊ ࠓޙ͸͢΂ͯ qt.io

    υϝΠϯʹҰݩԽ͍ͯ͘͠༧ఆ
  9. μ΢ϯϩʔυˍΠϯετʔϧ http://www.qt.io/download/ ࠷৽൛͸ Qt 5.3.2

  10. Hello World #include <QtWidgets/QApplication> #include <QtWidgets/QLabel> int main(int argc, char

    *argv[]) { QApplication app(argc, argv); QLabel label; label.show(); return app.exec(); }
  11. Hello World!

  12. Qt Creator(։ൃ؀ڥ)

  13. ͨ͘͞Μͷػೳ͕͋Γ·͢ QtCore QtGui QtWidgets QtSql QtXml QtNetwork QtWebKit QtConcurrent QtMultimedia

    QtQuick QtQuickControls QtGraphicalEffects QtTest ͳͲͳͲ
  14. ༷ʑͳ؀ڥͰಈ࡞͠·͢ Windows / Mac OS X / Linux X11 Embedded

    Linux / Windows Embedded QNX / VxWorks / INTEGRITY Android / iOS / WinRT / BlackBerry10 Sailfish / Ubuntu Phone ͳͲͳͲ
  15. ϥΠηϯεମܥ ΦʔϓϯιʔεϥΠηϯε GPL v2.1 LGPL v2.1 + EXCEPTION LGPL v3

    ඇΦʔϓϯιʔεϥΠηϯε ༗ঈ
  16. Qt ͷ͕͍͜͜͢͝ʂ ๛෋ͳػೳ Θ͔Γ΍͍͢Ϋϥε໊ɾϝιου໊ υΩϡϝϯτ͕੔උ͞Ε͍ͯΔ ༏ΕͨύϑΥʔϚϯε ಉ͡ιʔείʔυ͕৭ʑͳ OSɺ୺຤Ͱಈ͘

  17. Qt Quick ΞϓϦͷ UI ։ൃʹ࠷దԽͨ͠ݴޠ ਓ͕ؒಡΈ΍͘͢ɺॻ͖΍͍͢ܗࣜ ΠϕϯτυϦϒϯͰ͸ͳ͘એݴܕϓϩάϥϛϯά OpenGLʹΑΔඳըͷ࠷దԽʗߴ଎Խ Ξχϝʔγϣϯ΍ΤϑΣΫτͰϦονͳ UI

    ʹ
  18. Demo

  19. Qt ͷ։ൃମ੍ Qt Project Qt ͷ։ൃΠϯϑϥΛϗετ͢ΔͨΊͷஂମ ࣮ྗ(࣮੷)ओٛ ߩݙͷΨΠυϥΠϯ http://qt-project.org/wiki/Qt-Contribution-Guidelines

  20. Qt ͷ։ൃΠϯϑϥ Wiki όάτϥοΧʔ ίʔυϨϏϡʔγεςϜ ϝʔϦϯάϦετ IRC

  21. ίϛοτͷ౷ܭ

  22. ೔ຊ Qt Ϣʔβʔձ Qt Λීٴͤ͞ΔͨΊʹઃཱͨ͠Ϣʔβʔձ ֤஍ͷษڧձΛ౷Ұ͍ͨ͠ͱ͍͏ཧ༝͔Β http://qt-users.jp/ ϝʔϦϯάϦετʹࢀՃ͍ͯͩ͘͠͞ʂ

  23. Qt ͷษڧձ ౦ژ͸ຖ݄(ओʹୈ̏౔༵)։࠵͍ͯ͠·͢ ໊ݹ԰͸̏ϲ݄ຖʁʹ։࠵͍ͯ͠·͢ ؔ੢Ͱ΋։࠵͞Ε͍ͯ·͢

  24. Qt Ͱ৭ʑ࡞͍ͬͯ·͢

  25. Qt ࣗମʹ΋ߩݙ͍ͯ͠·͢ QTBUG-35899: Qt 5.2's WebKit does not support plugin

    on Mac OS X QTBUG-36880: QGroupBox not inherits palette "WindowText". Change I122f7970: QSqlQuery::isNull string overload Change I48178b89: Add Wacom tablet support for Cocoa QtͷϩʔΧϥΠθʔγϣϯ
  26. Qt ͷॻ੶΋ॻ͍͍ͯ·͢

  27. ·ͱΊ Qt ͸ΞϓϦέʔγϣϯ։ൃϑϨʔϜϫʔΫ ؆୯ʹຊ֨తͳΞϓϦέʔγϣϯ͕։ൃͰ͖Δ ༷ʑͳػೳ͕͋Γෳ਺ͷϓϥοτϑΥʔϜͰಈ͘ Qt ͸ΦʔϓϯιʔεϓϩδΣΫτ ͩΕͰ΋ࢀՃͰ͖·͢

  28. Qt Λ͸͡Ί·͠ΐ͏ʂ Qt Ϣʔβʔձͷలࣔϒʔε΁ʂ ༷ʑͳσϞΛల͍ࣔͯ͠·͢ʂ ϝʔϦϯάϦετʹࢀՃ͍ͯͩ͘͠͞ʂ ษڧձʹ΋ؾܰʹ༡ͼʹདྷ͍ͯͩ͘͞ʂ ࣍ճ͸དྷि຤ 10/25(౔) ʹ৽॓(ޚԓલ)Ͱ͢ʂ

  29. None
  30. Q & A