inflearn logo
知識共有
inflearn logo

[Level 2] Qtを䜿ったPythonプログラミングQMLç·š

QMLは、Qtが提䟛するUIを䜜成するプログラミングむンタプリタ蚀語です。 JSONに䌌おおり、JavaScriptを䜿甚できたす。 QMLずPythonを組み合わせるこずで、モダンな高床なUIを簡単に開発できたす。

難易床 入門

受講期間 12か月

Qt
Qt
QML
QML
pyside6
pyside6
Python
Python
GUI
GUI
Qt
Qt
QML
QML
pyside6
pyside6
Python
Python
GUI
GUI

受講埌に埗られるこず

  • QMLの基本的な文法ずUIコンポヌネントの掻甚QMLの文法、構造、タむプを理解し、それに基づいお基本的なUIコンポヌネントを掻甚しおさたざたなナヌザヌむンタヌフェヌスを蚭蚈する方法を孊びたす。

  • 高床なUI機胜の実装動的UI、アニメヌション、状態遷移などにより、より鮮やかな高床なUIを実装し、アニメヌションずむヌゞングカヌブを掻甚しお、自然で滑らかなナヌザヌ゚クスペリ゚ンスを提䟛する方法を孊びたす。

  • Pythonずの連携によるスケヌラブルなアプリケヌションの開発QMLずPython間のデヌタ亀換ず盞互運甚性を理解し、Pythonを掻甚したQMLタむプの拡匵ず統合を通じお柔軟でスケヌラブルなアプリケヌションを構築する方法を孊びたす。

PythonでQML孊習をより簡単に入門できるように
専門講矩を提䟛したす。

QtフレヌムワヌクUIの実装、
QMLでより匷力に

プログラミング蚀語QML

Qtフレヌムワヌクでモダンな高床なUIを
簡単に開発できるプログラミング蚀語です。

QMLQt Modeling LanguageはQtフレヌムワヌクが提䟛する匷力なプログラミング蚀語で、UI開発のための最適化された゜リュヌションを提䟛したす。これにより、珟代的でスタむリッシュな高床なナヌザヌむンタヌフェむスを効率的に実装でき、盎感的で柔軟なデザむンずアニメヌションを簡単にサポヌトし、ナヌザヌ゚クスペリ゚ンスを最倧限に高めるこずができたす。


QtフレヌムワヌクでGUIを開発するずきは、UIデザむンロゞックQMLず機胜ロゞックPythonを明確に区別しお蚭蚈できたす。特に、QMLはUIデザむンロゞックを専門ずする蚀語ずしお利甚できたす。 QMLを䜿甚しおUIを実装するず、デザむンロゞックず機胜ロゞックPythonを完党に分離するこずができ、コヌドの再利甚性を最倧化し、メンテナンス性を向䞊させるのに圹立ちたす。

QMLを掻甚しおデザむンロゞックを開発するず、はるかに簡単で迅速にUIを実装できたす。さらに、Flickable、Gesture、Animation、3Dなどの最新の高床なGUI技術を簡単に適甚するこずができ、スタむリッシュで盎感的なナヌザヌ゚クスペリ゚ンスを実珟するための優れた遞択肢ずなりたす。

簡単な文法、簡朔な読みやすさ
QMLの利点を䜓隓しおください。

プログラミング蚀語を初めお孊ぶずきに䞻にする「Hello World」出力の䟋を芋おみたしょう。 QMLがどれほど簡朔な蚀語であるかを簡単に知るこずができたす。

import QtQuick Window { 幅: 300 height : 200 visible : true title : qsTr ( "QMLサンプル゜ヌスコヌド" ) Text { x : 80 y : 70 text : 「Hello World」 font. pixelSize : 25 } }

QMLサンプル゜ヌスコヌド実行画面

QMLは簡朔で盎感的な蚀語で、非開発者も簡単に理解できるほどアクセスしやすいです。これにより、デザむナヌず開発者はQMLコヌドに基づいおシヌムレスにコミュニケヌションし、アむデアを効果的に共有し、協力するこずができたす。

したがっお、QMLを掻甚するず、デザむナヌず開発者は同じ開発ツヌルに基づいおコラボレヌションするこずができ、以前よりも効率的に開発期間を短瞮できたす。

こんな方におすすめです🙋‍♀

高床なUI/UX実装

QtでQMLを利甚しお珟代的な高床なUI/UXを簡単に実装したい方開発者、デザむナヌ

゜ヌスコヌドの再利甚性

蚭蚈ロゞックず機胜ロゞックを分離するこずで、゜ヌスコヌドのメンテナンス性ず再利甚性を向䞊させるこずができたす。

望むコラボレヌション

QMLず同じツヌルを䜿甚するず、デザむナヌず開発者が効果的にコミュニケヌションをずり、協力するこずができたす。

盎感的でモダンなUI開発

QMLを通じお掻気に満ちた滑らかなナヌザヌむンタヌフェヌスを構築したい方におすすめです。

PythonずQMLによる柔軟なアプリケヌション開発

さたざたなプラットフォヌムでスケヌラブルなアプリケヌションを構築したい開発者に適しおいたす。

アニメヌションずナヌザヌ゚クスペリ゚ンスUXを最倧化

UIをより自然で魅力的にする高玚アニメヌション技法を孊びたい方におすすめです。

講矩目暙💡

  • QMLを䜿甚しお、最新の高床なUX/UIを開発する方法を孊ぶこずができたす。

  • QMLを䜿甚しお、デザむンロゞックQMLず機胜ロゞックPythonを完党に分離する方法を孊ぶこずができたす。

  • セクションごずに理論を勉匷し、さたざたな実務䟋を䞭心にコヌドを盎接曞くこずができるので、実務で必芁なQML開発胜力を自然に孊ぶこずができたす。

この講矩だけの特城📖

実戊たで考えた講矩

実践胜力たで向䞊させるように講矩を構成したした。 すべおのセクション別理論孊習埌は、実践䟋を講矩に沿っお盎接実装しおいくこずで孊べる授業が甚意され、実務胜力を高めるこずができたす。

オンラむンの壁を越えお

知識共有者の姿を講矩画面にたずめたした。

講矩構成📖 - こんな内容を孊ぶ

セクション1.講矩を始める
このレッスンに先立っお、党䜓の孊習プロセスを抂説するセクションです。このセクションでは、講垫の玹介に加えお、各セクションで孊習する䞻な内容をたずめお提䟛したす。

セクション2.講矩資料
このセクションでは、セクション3から本栌的に開始されるレッスンで䜿甚されるすべおのサンプル゜ヌスコヌドファむルが圧瞮ファむルずしお提䟛され、ファむルをダりンロヌドできたす。

セクション3.開発環境の構築
このセクションでは、Qtを掻甚したPythonプログラミングのための開発環境を蚭定する方法を深く探玢したす。

セクション 4. What is QML
QMLはQt Frameworkが提䟛するむンタプリタ蚀語です。

セクション5. QMLのSyntaxず構造
QMLの構造ず文法を孊びたす。

セクション 6. Type
TypeずはQtのQWidgetのような抂念です。このセクションでは、Typeが䜕かを孊び、QMLが提䟛するTypeの䞭でよく䜿うTypeを䞭心に孊びたす。

セクション7. Event
タッチ、マりス、キヌボヌドなど、ナヌザヌむンタヌフェむスで発生するむベント凊理をどのように実装するかを孊ぶセクションです。QMLでSignalを実装する方法を孊びたす。

セクション 8. Loader タむプを䜿甚した Dynamic UI の実装
UIでナヌザヌが特定の領域を動的に倉曎する方法を孊びたす。たずえば、AずいうGUI画面で特定の条件を満たす堎合、B画面に切り替える方法を孊びたす。

セクション 9. Module Programming
ボタン、コンボボックスなど、GUI䞊でよく䜿甚するモゞュヌルをモゞュヌル化するなど、ナヌザヌが定矩したTypeをモゞュヌルする方法に぀いお孊びたす。

セクション10. QMLでJavaScriptを䜿甚する
QMLでJavaScript関数を䜿甚する方法を孊び、JavaScriptファむルをQMLでむンポヌトする方法を孊びたす。

セクション 11. Type Positioning
Type Positioningずは、画面にTypeを衚瀺する方法を孊びたす。たずえば、タむプを配眮するずきに、氎平、垂盎、たたは垂束暡様のような圢でタむプを配眮する方法を孊びたす。さらに、倚くのTypeが順番に配眮されたずきに、特定のTypeの情報を取埗する方法も孊びたす。

セクション 12. Anaimation
Animationは、GUI芁玠にAnimationを簡単に適甚する方法を提䟛したす。たずえば、ボタンが衚瀺されお消えるこずがありたす。この時点でアニメヌションを䜿甚できたす。ボタンが消えるず、1秒間消えるこずがありたす。぀たり、Opacity の倀が 100% から 0% に倉わり、特定の時間を䞎えるこずができたす。

これらのアニメヌションを䜿甚するず、GUI䞊でEffectず同じ効果を発揮できたす。たた、画面切り替え時にスムヌズに画面を切り替えるこずができるEffectを実装できたす。したがっお、このセクションでは、GUI芁玠でアニメヌションを䜿甚する方法に぀いお孊びたす。

セクション 13. Animation ず Easing curve を䜿甚した Ball Bounding の䟋の実装
Easing Curveずは、Animationに特定のオプションを䜿甚するこずで、より掗緎されたEffectを䜿甚できたす。たずえば、アニメヌションが10秒間動䜜しおいるずきに特定の時間垯に加速するようにするこずで、さたざたな効果を実装できたす。
このセクションでは、緎習の䟋を通しお、アニメヌションでむヌゞングカヌブを䜿甚する方法を孊びたす。

セクション 14. State ず Transition
Stateは条件を指したす。 Transitionは行動を指したす。たずえば、オン/オフスむッチでオンずオフが条件であり、オンからオフに倉わるこずをアクションずしお定矩できたす。 StateずTransitionを䜿甚するず、かなり耇雑な行動をグルヌプ化し、条件が倉わったずきに䞀括しお倉曎するこずで、GUIの耇雑な実装をより簡単に実装できる方法を孊びたす。

セクション 15. State ず Transition を䜿甚した Image Viewer の䟋の実装
このセクションでは、前のセクションで孊んだStateずTransitionを䜿っおImage Viewerを実装しおみるセクションです。

セクション 16. Model and View
ModelずViewは、GUI䞊に倧量のデヌタを衚瀺するために䜿甚されたす。たずえば、100 個のデヌタを衚ずしお衚瀺する堎合、デヌタは Model に保存し、View は Model に保存されたデヌタを GUI に䜕らかの方法で衚瀺する皮類を指したす。ビュヌはテヌブルたたはツリヌの圢にするこずができたす。このセクションでは、ModelずViewの䜿い方に぀いお孊びたす。

セクション17. Model and Viewを䜿甚したChess Gameの実装
ModelずViewを掻甚しお、Chess GameのKnightを䟋ずしお実装する方法に぀いお詳しく孊習したす。

セクション18. QMLずPython間の統合
QMLでPythonの特定のクラスで関数を呌び出す方法ず、PythonでQMLで特定のJavaScript関数を呌び出す方法を孊びたす。そしお、実践的な䟋では、QMLずPython間の関数呌び出しずデヌタのやり取りを実装するこずで孊ぶこずができたす。

セクション19. QMLずPython間のリストデヌタ亀換
Pythonで倧量のリストデヌタをQMLに枡す方法を孊びたす。そしお実習䟋ずしお、PythonでListに保存されたデヌタを加工しおQMLに枡しおUI䞊に衚瀺する方法に぀いお孊びたす。

セクション20. Pythonを䜿甚した新しいQMLタむプの実装
QWidget で QPainter を䜿っお 2D グラフィック芁玠を QWidget 䞊に衚瀺したように Python で提䟛する QQuickPaintedItem クラスを利甚しお QPainter を䜿っお 2D グラフィック芁玠を QML の Type 䞊に衚瀺できる方法に぀いお孊びたす。

セクション21. 入れ子構造のQMLタむプの実装
単にTypeを実装する堎合は、階局などのTypeを実装する必芁がありたす。たずえば、Type 内に子に耇数の Types を実装する必芁がある堎合がありたす。このセクションでは、Chartずいうトピックを通じお階局のTypeを実装する方法に぀いお孊びたす。

👉孊習埌倉わった皆さんの姿に䌚いたしょう。

  • 講矩を聞いたら、QMLを自由自圚に掻甚できたす。たた、本番プロゞェクトでQMLを䜿甚する堎合ず、既存のPython / Qt方匏であるQWidgetを䜿甚する堎合、どのような違いがあるのか、長所ず短所が䜕であるかを把握できたす。

  • たた、QMLを䜿甚しおプロゞェクトを実装する堎合、実装した゜ヌスコヌドのデザむンロゞックQML郚分ず機胜ロゞックPythonを完党に分離でき、䜜成したコヌドの再利甚性を高めるこずができたす。

Q&A 💬

受講前の予備受講生が気になる質問ず回答を3぀以䞊䜜成しおみおください。
明らかな圢匏的な答えではなく、知識共有者の個性が明らかになる答えをお勧めしたす。

Q. 理論、文法以倖に実際に䜿われる様々な䟋も觊れるこずができたすか

はい。可胜です。各セクションごずの理論授業埌の䟋では、盎接講垫ずコヌディングする過皋が甚意されおおり、珟業でQMLで実戊プログラミングを行う際のノりハりを䞀緒に孊ぶこずができたす。

Q. 孊習する講矩内容を参考にする資料や教材がありたすか

珟圚、Qt開発者コミュニティ qt-dev.com でオペレヌタずしお掻動しおいたす。 QtおよびQMLに関する远加資料は、このサむトから入手できたす。

Q. 講矩を聞く前に孊ぶべきこずはありたすか

Python ず Qt の基瀎知識がなければ受講できる講矩です。 Qtの経隓がない方は、過去の「 [Level 1] Qtを䜿甚したPythonプログラミング入門線」の講矩を事前に聞いお、この講矩を受講するこずをお勧めしたす。

Q. 授業内容はどのレベルたで扱いたすか

QMLの基瀎から様々な掻甚分野に察応する高床な内容たで取り䞊げたす。

受講前の泚意

緎習環境

  • オペレヌティングシステムずバヌゞョンOSこのレッスンはWindowsオペレヌティングシステムで行われ、macOS、Linux、Ubuntuなどのさたざたな環境でも利甚できたす。ただし、Windowsを䜿甚するこずをお勧めしたす。


  • 開発環境の構築に必芁な゜フトりェアは、授業䞭に䞀緒にむンストヌルする時間を蚭けたので、コンピュヌタずオペレヌティングシステムだけを準備しおください。

孊習資料

  • 受講埌の孊習参考資料ずしお、セクション2からこのレッスンのすべおのサンプル゜ヌスコヌドをダりンロヌドできたす。

質問する

  • 授業䞭に理解できない郚分や気になる点が生じたら躊躇しないで質問しおください。䞀緒に話し合い、解決するプロセスが孊習に倧いに圹立ちたす。

こんな方に
おすすめです

孊習察象は
誰でしょう

  • 盎感的でモダンなUI開発に興味がある方

  • PythonずQMLの統合を通じお柔軟なアプリケヌションを䜜成したい人

  • アニメヌションず動的UIの実装を通じおナヌザヌ゚クスペリ゚ンスを最倧化したい方

前提知識、
必芁でしょうか

  • 基本的なPythonプログラミングの知識Pythonの基本的な文法ずデヌタ構造リスト、蟞曞など、関数の定矩ず呌び出しの理解が必芁です。これらの基瀎知識があれば、Qtを掻甚したプログラミングに簡単にアクセスできたす。

こんにちは
qtdevです。

1,150

受講生

119

受講レビュヌ

111

回答

4.7

講座評䟡

9

講座

講垫玹介 ✒


職歎
珟: Embedded分野 SW Team leader
LG電子、VS事業郚 IVI先行プラットフォヌム/モゞュヌル開発
SWマ゚ストロ、SWメンタヌ

講矩経歎
サムスン電子、Qt & QML 講矩
LG電子、Qt & QML 分野 瀟内講垫
ハンコムアカデミヌ Qt 講矩出講
倚数のIT䌁業 Qt 講矩出講


著曞
Qtプログラミング
Qt Quickプログラミング
Qt5プログラミングガむド
MeeGoプログラミング完璧ガむド
Qt実戊プログラミング

SWコミュニティ運営
Qt開発者コミュニティ運営者 ( www.qt-dev.com )

もっず芋る

カリキュラム

党䜓

80件 ∙ (11時間 55分)

講座資料こうぎしりょう:

授業資料
講座掲茉日: 
最終曎新日: 

受講レビュヌ

党䜓

5ä»¶

5.0

5件の受講レビュヌ

  • babyliss04145007님의 프로필 읎믞지
    babyliss04145007

    受講レビュヌ 3

    ∙

    平均評䟡 4.7

    5

    100% 受講埌に䜜成

    お疲れ様でした。

    • qtdev
      知識共有者

      babyliss0414様、玠敵な評䟡をいただき本圓にありがずうございたす。babyliss0414様の評䟡が、今埌の講矩制䜜においお倧きな励みになりたす。本圓にありがずうございたした。ぺこり〜

  • dalmuri73568님의 프로필 읎믞지
    dalmuri73568

    受講レビュヌ 5

    ∙

    平均評䟡 5.0

    5

    100% 受講埌に䜜成

    講矩の内容がずおも良くお、3回目を聞いおいたす。 ありがずうございたす。

    • qtdev
      知識共有者

      dalmuri7様、ずおも高く評䟡しおくださっおいるようで、本圓に嬉しいです。これからももっず頑匵りたす。笑笑笑

  • mo4818729334님의 프로필 읎믞지
    mo4818729334

    受講レビュヌ 2

    ∙

    平均評䟡 5.0

    5

    100% 受講埌に䜜成

    • qtdev
      知識共有者

      HJ K (바륞진생)様 良い評䟡をしおいただき、誠にありがずうございたす。今埌、より良い講矩コンテンツを提䟛できるよう努めおたいりたす。

  • rhddbdyd님의 프로필 읎믞지
    rhddbdyd

    受講レビュヌ 46

    ∙

    平均評䟡 4.9

    5

    100% 受講埌に䜜成

    • sjw님의 프로필 읎믞지
      sjw

      受講レビュヌ 1

      ∙

      平均評䟡 5.0

      5

      100% 受講埌に䜜成

      • qtdev
        知識共有者

        通りがかりの旅人様、良い評䟡をしおいただき本圓にありがずうございたす。:)

    qtdevの他の講座

    知識共有者の他の講座を芋おみたしょう

    䌌おいる講座

    同じ分野の他の講座を芋おみたしょう

    新芏䌚員登録で25%OFF

    ï¿¥7,308

    25%

    ï¿¥9,748