inflearn logo
知識共有
inflearn logo

【初級】QMLプログラミング 第1回

QMLはQtが提供するUIを作成するプログラミング言語です。JSONに似ており、JavaScriptを使用できます。C++言語の代わりにQMLを利用すれば、C++を使わずにモダンで高度なUIを簡単に開発できます。

難易度 初級

受講期間 4か月

Qt
Qt
QML
QML
Qt
Qt
QML
QML

学習した受講者のレビュー

4.8

5.0

Junghwan Jeong

100% 受講後に作成

QMLを今後どのように使用するかについて多くの助けになりました。 今後、実務的なアイテムを一つ選定して全体のコースを具現する教育課程があれば、ノウハウを習得するのに役立ちそうです。

5.0

이준현

32% 受講後に作成

再受講です。良いですね。 以前学んで忘れていたことを改めて復習しています。 再受講する価値があるほど素晴らしいQt講義です。

5.0

White

64% 受講後に作成

画面の文字サイズが大きくなったみたいですね?いいですね

受講後に得られること

  • QMLを用いたモダンなUI開発

  • QMLとC++を用いたUI開発

Qt UI開発のためのQMLを、
入門から実践まで詳しく解説します。

QtフレームワークのUI実装を、
QMLでもっと強力に!

プログラミング言語QML?

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

QML(Qt Modeling Language)は、Qtフレームワークが提供するプログラミング言語です。QMLは、QtフレームワークでUI開発に使用できるプログラミング言語であり、モダンで高度なUIを簡単に実装する目的で利用できます。

Qtフレームワークを利用してGUIプログラムを開発する際、UI部分のデザインロジックと機能部分の機能ロジックを分けて考えることができます。その中でもQMLは、デザインロジックに該当するUIを開発する際にC++の代替として選択できる言語です。特にQMLでUIを開発すると、デザインロジックと機能ロジックを完全に分離できるため、ソースコードの再利用性を高められます。

QMLを使用してデザインロジックを開発すれば、C++を使用して開発するよりもはるかに簡単かつ迅速にUIを実装できます。また、Flickable、Gesture、Animation、3Dなどの現代的で高度なGUI技術も簡単に適用できます。


簡単な文法、簡潔で読みやすいコード
QMLのメリットを体験してみてください。

プログラミング言語を初めて学ぶ際によく行う「Hello World」の出力例を見てみましょう。QMLがいかに簡潔な言語であるかを簡単に理解できます。

import QtQuick

Window {
    width: 300
    height: 200
    visible: true
    title: qsTr("QML 예제소스코드")

    Text {
        x: 80
        y: 70
        text: "Hello World"
        font.pixelSize: 25
    }
}

QMLサンプルソースコード

QMLサンプルソースコードの実行画面

QMLは簡単でシンプルです。 開発者でなくても簡単に理解できます。そのため、デザイナーと開発者はQMLコードを使って互いに意思疎通を図り、アイデアを共有できます。

したがって、QMLを利用すれば、デザイナーと開発者が同じ開発ツールを使って協力することで、従来よりも開発期間を短縮できるようになります。


QMLプログラミング入門 
このような方におすすめです 🙋‍♀️

1️⃣

QtでQMLを使ってモダンで高度なUI/UXを簡単に実装したい方(開発者、デザイナー)

2️⃣

デザインロジックと機能ロジックを分離することで、ソースコードの保守性と再利用性を高めたい方

✅

前提知識として、C++言語およびQtフレームワークの基礎知識を理解している方のみ、このコースを受講いただけます。

講義の目標 💡

  • QMLを使って、現代的で高度なUX/UIを開発する方法を学べます。
  • QMLを使用してデザインロジックと機能ロジックを完全に分離する方法について学べます。
  • セクションごとに理論を学び、さまざまな実務例を中心にコードを直接書いてみることができるため、実務で必要なQML開発能力を自然に身につけられます。

この講義ならではの特徴を
ご確認ください 📖

理論と実践を一度に

QMLの文法だけでなく、実践力まで向上できるように講義を構成しました。各セクションの理論学習後には、実践例を講義に沿って自分で実装しながら学べる授業が用意されており、実務能力を高めることができます。

オンラインの壁を越えて

知識共有者の姿も講義画面に一緒に映しています。臨場感あふれるライブコーディングとともに進む授業を通じて、まるでオフライン授業を受けているような感覚で、いつでもどこでも学習してみてください。

 


講義構成 📖

セクション1. QMLとは
QMLはQt Frameworkが提供するインタープリタ言語です。今回は、QMLの特徴とメリットについて見ていきます。

セクション2. QMLの構文および構造
QMLの構造と文法を学びます。さらに、実習例を通してQMLの使い方を学ぶセクションです
セクション3. Type 
Typeとは、QtのQWidgetと同じような概念です。このセクションではTypeとは何かを学び、QMLで提供されているTypeの中から、よく使用するTypeを中心に学びます。さらに、実習例としてAccessibleタイプを使用してボタンTypeを実装してみます。 

セクション4. Events
タッチ、マウス、キーボードなど、ユーザーインターフェース上で発生するEventの処理をどのように実装すべきかを学ぶセクションです。そして、QMLでSignalを実装する方法について学びます。実習例では、SignalとMethod(関数)を接続する例を通して、Signalの扱い方を詳しく学びます。

セクション5. Loader typeを利用したDynamic UIの実装
UI上でユーザーが特定の領域を動的に変化させる方法を学びます。例えば、AというGUI画面で特定の条件を満たした場合に、B画面へ切り替える方法を学びます。したがって、このセクションでは画面を動的に実装する方法について学びます。最後の実習例では、Loaderタイプを利用して画面を動的に切り替える方法を例に取り上げます。

セクション6. Canvas 
ペイントソフトのように、画面上に画像、線、図形、テキストを表示する方法について学びます。例として、Colorを選択してペイントソフトに絵を描けるサンプルを扱ってみましょう。

セクション 7. グラフィックエフェクト 
Blur、Blend、ColorなどのEffectを画像上で使用する方法について学びます。 

セクション 8. Module Programming 
ボタンやコンボボックスのようにGUI上でよく使用するモジュールをモジュール化する方法や、ユーザーが定義したTypeをモジュール化する方法について学びます。そして、実習例を通してQMLをモジュール化して実装する方法について学びます。 

セクション 9. QMLでJavaScriptを使用 
QMLでJavaScript関数を使用する方法について学びます。そして、JavaScriptファイルをQMLでImportする方法について学びます。実習例では、計算機の実装を通してJavaScriptを使用する方法を詳しく学ぶことができます。 

セクション 10. Dialog
QMLでダイアログを使用する方法について学びます。また、実習例としてColorを選択するダイアログを実際に実装し、ダイアログの使用方法について学ぶことができます。

セクション 11. Layout
QMLではAnchors以外にも、RowLayout、ColumnLayout、GridLayout、LayoutなどのLayoutを使用できます。今回はさまざまなLayoutの使用方法について学びます。

セクション 12. Type Positioning
Type Positioningとは、画面上にTypeを表示するための方法を学ぶことです。例えば、Typeを配置する際に、横方向、縦方向、または碁盤の目のような形に配置する方法について学びます。

セクション13. Qt Quick Controls 
Qt Quick Controlsは、Button、Dial、CheckBox、BusyIndicatorなど、画面を構成するために必要なGUIインターフェースを提供します。今回のセクションでは、Qt Quick Controlsの使い方を学びます。


Q&A 💬

 

Q. 理論や文法以外に、実際に使われるさまざまな例にも触れることができますか?

はい。可能です。各セクションの理論講義の後に、例題を通して講師と一緒にコーディングする課程が用意されているため、実務でQMLを使って実践的なプログラミングを行う際のノウハウも併せて学べます。

Q. 学習する講義内容を参考にできる資料や教材はありますか?

Qt開発者コミュニティ(qt-dev.com)で運営者として活動しています。QtおよびQMLに関する情報をこのサイトで入手できます。

Q. 講義を受講する前に、学んでおくべきことはありますか?

C++とQtに関する基礎知識が必要な講義です。Qtの経験がない方は、以前の「Qtプログラミング」講義をあらかじめ受講してから、この講義を受講することをおすすめします。

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

QMLの基礎から、さまざまな活用分野に対応する高度な内容まで扱います。

💾 参考事項

  • 詳しくは、プレビューで公開されているセクション1[QML参考資料およびQML学習のために推奨されるQtバージョンの説明]の講義をご確認ください。

こんな方に
おすすめです

学習対象は
誰でしょう?

  • QMLを使用してUIを開発しようとしている方

  • QtフレームワークでQMLを使用してUIを開発しようとしている方

前提知識、
必要でしょうか?

  • C++

  • Qt

こんにちは
qtdevです。

1,168

受講生

123

受講レビュー

112

回答

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 )

もっと見る

カリキュラム

全体

47件 ∙ (9時間 8分)

講座資料(こうぎしりょう):

授業資料
講座掲載日: 
最終更新日: 

受講レビュー

全体

18件

4.8

18件の受講レビュー

  • psjhsi122824님의 프로필 이미지
    psjhsi122824

    受講レビュー 3

    ∙

    平均評価 5.0

    5

    100% 受講後に作成

    良い講義でした。パート2も聞いています。

    • qtdev
      知識共有者

      こんにちは。 JunHwan Songさん、 良い評価していただきありがとうございます。 ^^;

  • qkfka23236549님의 프로필 이미지
    qkfka23236549

    受講レビュー 4

    ∙

    平均評価 5.0

    5

    32% 受講後に作成

    再受講です。良いですね。 以前学んで忘れていたことを改めて復習しています。 再受講する価値があるほど素晴らしいQt講義です。

    • qtdev
      知識共有者

      イ・ジュンヒョン様、高評価をいただき本当にありがとうございます。:)

  • greenspace님의 프로필 이미지
    greenspace

    受講レビュー 3

    ∙

    平均評価 5.0

    5

    32% 受講後に作成

    先生 最高〜〜!!!

    • qtdev
      知識共有者

      박시우様、良い評価本当にありがとうございます :)

  • junghwanjeong님의 프로필 이미지
    junghwanjeong

    受講レビュー 52

    ∙

    平均評価 5.0

    5

    100% 受講後に作成

    QMLを今後どのように使用するかについて多くの助けになりました。 今後、実務的なアイテムを一つ選定して全体のコースを具現する教育課程があれば、ノウハウを習得するのに役立ちそうです。

    • qtdev
      知識共有者

      Junghwan Jeongさん ありがとうございました。良いフィードバックありがとうございます。次のQML活用編では、全体のコースを実装することを追加し、Qt Design Studioも入れることができるようにします。

  • siroimono님의 프로필 이미지
    siroimono

    受講レビュー 39

    ∙

    平均評価 5.0

    5

    64% 受講後に作成

    画面の文字サイズが大きくなったみたいですね?いいですね

    • qtdev
      知識共有者

      White様、良い評価をいただき本当にありがとうございます。良いコンテンツを提供するためにより一層努力いたします。:)

qtdevの他の講座

知識共有者の他の講座を見てみましょう!

似ている講座

同じ分野の他の講座を見てみましょう!

期間限定セール、あと2日日で終了

¥48

29%

¥11,048