Inflearn brand logo image
Inflearn brand logo image
Inflearn brand logo image
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を活用したプログラミングに簡単にアクセスできます。

こんにちは
です。

992

受講生

85

受講レビュー

100

回答

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分)

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

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

受講レビュー

全体

5件

4.8

5件の受講レビュー

  • 제주삼다님의 프로필 이미지
    제주삼다

    受講レビュー 4

    平均評価 5.0

    5

    31% 受講後に作成

    • 김대진
      知識共有者

      제주삼다님, 좋은 평가해 주셔서 너무 감사합니다. :)

  • lightstone87님의 프로필 이미지
    lightstone87

    受講レビュー 1

    平均評価 5.0

    5

    57% 受講後に作成

    프로젝트로 간단하게 Qt를 접하고, 우겨넣는 식으로 GPT를 돌려가며, 기능과 구현 원리도 모른 채로 쓰다가, 우연찮게 가뭄의 단비같은 강의를 발견하고 바로 결제했습니다. 잘 쓰면 정말 좋은 프로그램인데....쓰는 법을 알려주는 사람도, 강의도, 서적도 없어서 참 막막했습니다. 파이썬 기반의 GUI를 나만의 방식으로 만들고 싶으신 분, 또한 조금 숙련되면 기능 모듈과 디자이너 모듈을 분리하여 유지보수 하고 싶으신 분들은 Level2까지 수강하길 추천드립니다. 사실, 저는 Level2를 보고 Level1 강의를 듣고 있는데, 기초적인 수준의 내용을 알아보려고 서칭을 했지만 Qt 관련 동영상도 적고, 있는데 굉장히 오래되어 과연 동영상 내용대로 현재 버전이라 코드가 작동될지 의문이더라고요. 관련 서적도 찾아봤으나, 그나마 나온 책들도 영어 원서거나 엔트리 단계에서 접할 수준이 아니더라고요. 이 강의가 거의 유일(?)한 업데이트되는 Qt 강의가 아닐까 합니다. 전자기기와 배달음식은 어차피 사게 될 거 시간 문제라고 하는데, 저는 이 강의 시리즈를 전자기기와 배달음식 다음으로 시간 문제에 넣고 싶습니다 ㅎㅎ 성심을 다해 강의를 준비해주신 강사님께 감사드리며, 수강생 분들도 다들 열심히 공부하셔서 좋은 결과 있으시길 바랍니다!

    • 김대진
      知識共有者

      안녕하세요. lightstone87님 너무나 과분하게 좋은평가해 주셔서 너무 감사합니다. ^^;

  • 이창보님의 프로필 이미지
    이창보

    受講レビュー 1

    平均評価 5.0

    5

    29% 受講後に作成

    • 김대진
      知識共有者

      안녕하세요. 좋은 평가해주셔서 너무 감사합니다.

  • eunlae.kim님의 프로필 이미지
    eunlae.kim

    受講レビュー 1

    平均評価 4.0

    4

    30% 受講後に作成

    • 송인섭님의 프로필 이미지
      송인섭

      受講レビュー 1

      平均評価 5.0

      修正済み

      5

      92% 受講後に作成

      ¥5,716

      qtdevの他の講座

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

      似ている講座

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