강의

멘토링

로드맵

Programming

/

Programming Language

[Level 1] Qtを使ったPythonプログラミング:入門編

Qtは、GUIだけでなく、ネットワーク、データベース、マルチメディア、IPCなど、さまざまな機能を提供することで、Pythonで簡単かつ迅速にさまざまな分野のアプリケーションを開発できる強力なフレームワークです。このレッスンでは、Qtの基礎からさまざまな例でPythonでQtを効果的に活用する方法を学びます。

  • qtdev
이론 실습 모두
Python
Qt
QML
GUI
pyside6

こんなことが学べます

  • Qtの膨大なAPIを活用して、Pythonでさまざまな分野のアプリケーションを開発する方法を深く学ぶことができます。

  • Qtを使用すると、Pythonでさまざまな分野のアプリケーションを迅速かつ効率的に開発する技術を習得できます。

  • Qtを使用してPythonでGUIを実装する方法を学ぶことができます。

PythonでQt学習をより簡単に入門できるように
専門講義を提供します。

このレッスンは、QtとPythonを活用してさまざまなGUIアプリケーションを開発できるように体系的に構成されており、実務に不可欠なさまざまな技術を学ぶことができます。

  • 基本的なGUIの構築:基本的なQt開発環境設定から始めて、簡単なGUIアプリケーションを直接実装する方法を学びます。

  • コア機能の活用:SignalとSlotによるイベント処理、さまざまなリソース管理と多言語サポート、データベース連携、ネットワーク通信など、実務に必要なコア機能を扱います。

  • 高度な技術習得:QPainterを活用した2Dグラフィックス、クロマキー映像処理、Custom Widget制作など、高度なアプリケーション開発に必要な技術を学習できます。

こんな方におすすめです

Qtを用いたGUI開発 (1)

Qt(PySide6)を利用すると、PythonでスタイリッシュなGUIを簡単に実装できます。

膨大なAPI(2)

ネットワーク、マルチメディア、IPC、データベースなど、さまざまな分野にわたる膨大なAPIにより、高度なアプリケーションを簡単に実装できます。

様々なツールをサポート(3)

Qtの強力なGUI、多言語サポート、リソース管理ツールを活用することで、簡単にレベルの高いアプリケーションを実装できます。

受講後は

  • デスクトップアプリケーション:データ可視化ツール、ビジネスソフトウェアなどで活用できるGUIアプリケーション開発が可能です。

  • 産業用ソフトウェア:ネットワークやデータベースとの連携機能により、IoT管理システム、生産管理ツール、通信アプリケーションなどに応用できます。

  • クロスプラットフォームアプリケーション:Qtのクロスプラットフォームサポートにより、Windows、macOS、Linuxなど、さまざまな環境で動作するインストールディストリビューションを作成できます。

本講義の特徴と差別点

実務中心の実習構成(1)

理論と実践をバランスよく配置し、学習者が直接コーディングしながらQtとPythonの機能を自然に習得できるように設計されています。各セクションでは、実務でよく使用される例とアプリケーションについて説明し、学習後に実際のプロジェクトに直接適用できます。

包括的なQt機能学習(2)

基本的なGUI開発から高度な機能であるCustom Widget、ネットワーク、多言語サポート、データベース連動、クロマキー映像処理など幅広いQtの機能を深く学ぶことができ、さまざまな分野に応用可能な技術を身につけることができます。

様々な用途に適したカリキュラム(3)

デスクトップアプリケーション、IoT、産業用ソフトウェア、クロスプラットフォーム展開までのカリキュラムを提供することで、Qtに初めての初心者だけでなく、高度な開発者まで、自分が望む分野に合わせて学習することができます。

モジュール化された学習アプローチ(4)

各機能別にセクションが区切られており、必要な部分を選択的に学習できます。 SignalとSlot、Qt Designer、リソースシステム、データ入出力などの主要機能を個別に探索し、必要に応じてすぐに活用できます。

実戦開発と同様の環境構築(5)

Visual Studio CodeとQt開発環境の設定から始めて、ディストリビューションの作成まで、実際の開発現場と同様の環境で学習することができます。

講義構成📖 - こんな内容を学ぶ

セクション1.講義を始める
本講義に先立ち、全体の学習過程を概説するセクションです。このセクションでは、講師の紹介に加えて、各セクションで学習する主な内容をまとめて提供するので、講義の全体的な流れを把握できます。

セクション2.講義資料
このセクションでは、セクション3から本格的に始まるレッスンで使用されているすべてのサンプルソースコードファイルが圧縮ファイルとして提供され、ファイルをダウンロードできます。このセクションは、クラスの一環ではなく、資料の提供を目的として提供されるセクションです。

セクション3.開発環境の構築
このセクションでは、Qtを使用したPythonプログラミングのための開発環境を設定する方法を深く探求します。また、ソースコードを作成するためのIDEとして、Visual Studio Codeの活用方法も見ていきます。

セクション4. Qtプログラミングの開始
Qtに基づいたPythonの簡単なGUIプログラミングを学びます。これにより、PythonでQtを効果的に活用するための基礎を築くことができます。

セクション 5. Signal and Slot
SignalとSlotはQtの重要なイベント処理メカニズムです。

セクション 6. Qt Resources
Qt Resource Systemは、アプリケーションに必要なさまざまなリソース(イメージ、アイコン、サウンドなど)を実行可能ファイルに統合する機能を提供します。

セクション7. Qt Designer
Qt Designerは、Qtアプリケーションのユーザーインターフェイスを直感的に設計するためのツールです。ドラッグアンドドロップ方式でウィジェットを配置してプロパティを調整することで、UIデザインの効率を最大化します。

セクション8. Style SheetによるGUIプログラミング
Qt Style Sheetは、UI要素の外観を細かく調整するための強力なツールです。CSSと同様の文法を使用して、ボタン、テキスト、およびレイアウトのスタイルを定義できます。

セクション 9. 多言語対応アプリケーションの実装
Qtは多言語サポートアプリケーションを簡単に開発する機能を提供します。

セクション 11. QMainWindow
QMainWindow は、デスクトップ環境で構造化された GUI を実装するのに適したクラスです。

セクション 10. Layout
LayoutはQtでウィジェットを効率的に配置し、画面サイズの変化に応じて動的に調整する機能を提供します。

セクション 12. Model/View
QtのModel / View構造は、大量のデータをさまざまな形式で視覚的に表現できる強力な機能を提供します。

セクション13.ファイル入出力とSTREAM処理
このセクションでは、QFileを介したファイル入出力方法と、一括データを効率的に処理できるQDataStreamとQTextStreamの使い方について説明します。

セクション 14. QPainter を使用した 2D Graphics
QPainterクラスは、QWidgetで2Dグラフィック要素を描画するために使用されます。

セクション15. QPainter実践編 - クロマキ画像処理
クロマキー技術を使用すると、特定の背景画像の色を別の画像に置き換える際に、QPainterを深く学ぶことができます。

セクション 16. タイマーの実装
QTimerクラスを使用して特定の時間間隔で特定の関数を呼び出す方法を学び、イベントベースのプログラミングの実践的な例を見てください。

セクション 17. Thread Programming
Qtのスレッド関連クラスを活用してスレッドプログラミングを容易に行う方法を学び、マルチスレッド環境での再進入(Re-Enterancy)を満たすスレッド実装方法を習得します。

セクション 18. Custom Widget
既存のウィジェットでは表現できないUI要素を実装するためにカスタムウィジェットを作成する方法を学び、非定型ウィンドウの実装に関する技術も習得します。

セクション 19. データベース
Qtは、さまざまなデータベースにアクセスできる統合APIを提供します。このセクションでは、QtのデータベースAPIを介してMySQL、MS-SQL、Oracle、SQLiteなど、さまざまなデータベースを扱う方法を学びます。

セクション 20. XML
QtのXMLモジュールを介してXMLデータを簡単に処理する方法を学びます。 SAXおよびDOM方式を活用したXMLデータ処理技術を習得します。

セクション 21. JSON
QtのJSONモジュールを使用してJSONデータを効率的に処理する方法を学び、JSON形式の理解度を高めます。

セクション 22. Printer Support
プリンタにテキストや画像を出力する方法を学び、実際のプリンタとの連携を通じて出力アプリケーション実装技術を習得します。

セクション 23. Network
Qt Networkモジュールを活用して、TCP / IPベースのネットワークアプリケーションを簡単に開発する方法を学びます。 TCPおよびUDPプロトコルを使用した実践的なケースをカバーします。

セクション 24. 開発した SW の配布のためのインストール配布の作成
このセクションでは、Pythonソースコードを実行可能ファイルに変換する方法と、Qt Install Frameworkを活用して、さまざまなプラットフォームでのインストールファイルの作成プロセスを深く学びます。

この講義だけの重要な利点

実戦まで考えた講義

実戦能力まで向上できるよう講義を構成しました。すべてのセクションごとの理論学習後は、実践例を講義に沿って直接実装していき、学べる授業が用意され、実務能力を高めることができます。

鮮やかなライブコーディングで集中アップ

知識共有者の姿を講義画面にまとめました。生き生きとしたライブコーディングで進行する授業で、まるでオフラインの授業を聴く感じでいつでもどこでも学習してみてください。

質問がありますか?

Q1:QtとPythonを一緒に使用する必要があるのはなぜですか?

回答: Qtは強力なGUIツールキットで、さまざまな機能とツールを提供して直感的でスタイリッシュなユーザーインターフェイスを構築するのに最適です。 Python は学習しやすく生産性の高い言語で、Qt と組み合わせると開発速度が速く、強力なアプリケーションを作成できます。つまり、Qtが提供するさまざまな機能をPythonの簡潔さと組み合わせて柔軟で強力なプログラムを開発できる最適な組み合わせなのです!

質問2:この講義にはどのような背景知識が必要ですか?

答え:基本的なPythonプログラミング知識だけで十分です。 GUIプログラミングの経験がなくても心配しないでください!講義は基礎からじっくりと説明しますので、途中で難しい部分があってもゆっくりと従えばいいです。まるで料理を初めて学ぶように、材料を準備し、レシピを身につけて、おいしい結果を作ることができる過程を一緒にします。

質問3:講義の後、どのプロジェクトを作成できますか?

回答:講義を終えたら、パーソナライズされたノートアプリやデータビジュアライゼーションツール、さらにはIoTデバイスのコントロールプログラムまで作成できます。想像力を発揮してみてください。自分のニーズに合わせて多様な機能を追加し、多言語サポートも実装してみると、自分だけの素敵なアプリケーションを持つことになります。さらに、友達に自慢できる「自分だけの作品」も作れますよ!

Q4:Qtに初めて触れるのは難しいことがありますか?

答え:最初は少し複雑に見えるかもしれませんが、私はあなたと一緒にやるので心配しないでください! Qtの構造と用語は見慣れないかもしれませんが、私と一緒にゆっくりと各部分を分解して理解するのに役立ちます。まるでパズルを合わせるように、各要素を組み合わせて完璧な絵を作っていけるようにご案内いたします。難しい部分も一緒に乗り越えていくと、後には皆さんがQt専門家になっているでしょう!

受講前の注意

練習環境

  • オペレーティングシステムとバージョン(OS):このレッスンはWindowsオペレーティングシステムで行われ、macOS、Linux、Ubuntuなどのさまざまな環境でも利用できます。ただし、Windowsを使用することをお勧めします。


  • 開発環境の構築に必要なソフトウェアは、授業中に一緒にインストールする時間を設けたので、コンピュータとオペレーティングシステムだけを準備してください。

学習資料

  • 受講後の学習参考資料として、セクション2からこのレッスンのすべてのサンプルソースコードをダウンロードできます。

質問する

  • 授業中に理解できない部分や気になる点が生じたら躊躇しないで質問してください。一緒に話し合い、解決するプロセスが学習に大いに役立ちます。

こんな方に
おすすめです

学習対象は
誰でしょう?

  • Qtを使ってPythonでGUIを実装したい人

  • さまざまな分野のAPIを簡単かつ迅速にPythonで実装したい人

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

  • 基本的なPythonプログラミングの知識:Pythonの基本的な文法とデータ構造(リスト、辞書など)、関数の定義と呼び出しの理解が必要です。これらの基礎知識があれば、Qtを活用したプログラミングに簡単にアクセスできます。

こんにちは
です。

1,028

受講生

90

受講レビュー

103

回答

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 )

カリキュラム

全体

93件 ∙ (13時間 52分)

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

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

受講レビュー

全体

6件

4.8

6件の受講レビュー

  • hjwang1905님의 프로필 이미지
    hjwang1905

    受講レビュー 3

    平均評価 5.0

    5

    60% 受講後に作成

    Thank you for the detailed explanation and comprehensive lecture.

    • qtdev
      知識共有者

      Thank you so much hjwang for giving such a good evaluation score. I will repay you with great content in the future. :)

  • sgain6485님의 프로필 이미지
    sgain6485

    受講レビュー 5

    平均評価 5.0

    5

    31% 受講後に作成

    • qtdev
      知識共有者

      Jeju Samda-nim, thank you so much for the good review. :)

  • skfmjan0271님의 프로필 이미지
    skfmjan0271

    受講レビュー 1

    平均評価 5.0

    5

    57% 受講後に作成

    I got to know Qt through a project, I ran GPT by force, and used it without knowing the functions and implementation principles, and then I accidentally found a lecture like a rain in the desert and paid for it right away. It's a really good program if you use it well.... There was no one to teach me how to use it, no lectures, and no books, so it was really frustrating. If you want to create a GUI based on Python in your own way, and if you want to separate the function module and designer module for maintenance after you become a little more skilled, I recommend taking Level 2. Actually, I'm taking Level 1 after watching Level 2, I searched to find out the basic content, but there are few Qt-related videos, and the ones that are available are very old, so I wonder if the code will work as the video says. I also looked for related books, but the books that came out were either in English or not at an entry level. I think this lecture is the only(?) updated Qt lecture. They say that electronic devices and delivery food are something you're going to buy anyway, so it's just a matter of time, but I want to put this lecture series next to electronic devices and delivery food as a matter of time 😊😊 I would like to thank the instructor for preparing the lecture with all his heart, and I hope all the students will study hard and get good results!

    • qtdev
      知識共有者

      Hello. Thank you so much for the very generous review, lightstone87. ^^;

  • changbolee5121님의 프로필 이미지
    changbolee5121

    受講レビュー 1

    平均評価 5.0

    5

    29% 受講後に作成

    • qtdev
      知識共有者

      Hello. Thank you so much for your good review.

  • eunlaekim2073님의 프로필 이미지
    eunlaekim2073

    受講レビュー 1

    平均評価 4.0

    4

    30% 受講後に作成

    ¥5,799

    qtdevの他の講座

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

    似ている講座

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