PyQt5をやってみよう! とおもって色々と探してみました。そしてついにいい資料にであえたので、そのメモと感動を記録しておきます! っておおげさ(笑)
PyQt5チュートリアルの資料について
ZetCodeのPyQt5チュートリアルが素晴らしかったので、これを使って学習しました。この記事ではPyQt5の初学者を対象に、PyQt5でのプログラミングを各部品(ウィジェットといいます)ごとに一つ一つ実際に動くコードを掲載、説明しています。説明も最低限に絞られていて、とても読みやすい文章です。PyQt5をやってみようという方にはうってつけのコンテンツです。写経するにもコードもシンプルで、写経にも最適です。
翻訳があるかな、と思って探したのですが見つからなかったので、目次だけでもと思って日本語にしてみました。ついでに各章のセクションと、その学習対象のPyQt5オブジェクトもまとめておきました。
なおZetCodeでは他にも色々とチュートリアルが掲載されているので、これからもお世話になりそうです。ざっと読んで概要を把握するにも便利なのに、なんであまり有名じゃないんだろう…
本文の英語はGoogle Dictionaryなどのブラウザの辞書ツールを使えば、意外と簡単に読めるシンプルな文章でした。
対象バージョン
| 項目 | バージョン |
|---|---|
| 言語 | Python 3.x |
| GUI FW | Qt 5 |
| Pythonバインディング | PyQt5 |
PyQt5チュートリアル 目次
| タイトル | 日本語 | 主要なPyQt5オブジェクト |
|---|---|---|
| Prelude | まえがき | |
| 1.Introduction to PyQt5 | 1.PyQtの紹介 | |
| – About PyQt5 | – PyQt5とは | |
| – PyQt4 and PyQt5 differences | – PyQt4とPyQt5の違い | |
| – Python | – Pythonとは | |
| 2.First programs | 2.初めてのプログラム | |
| – Simple example | – シンプルな例 | QApplication, QWidget |
| – An application icon | – アプリケーションのアイコン | QIcon |
| – Showing a tooltip | – ツールチップの表示 | QToolTip |
| – Closing a window | – ウィンドウを閉じる | QCoreApplication |
| – Message Box | – メッセージボックス | QMessageBox |
| – Centering window on the screen | – ウィンドウのセンタリング (対デスクトップ) |
QDesktopWidget |
| 3.Menus and toolbars | 3.メニューとツールバー | |
| – Main Window | – メインウィンドウ | QMainWindow |
| – Statusbar | – ステータスバー | QMainWindow |
| – Menubar | – メニューバー | QAction, qApp |
| – Toolbar | – ツールバー | QAction, qApp |
| – Putting it together | – 全部一緒にのせてみる | QTextEdit |
| 4.Layout management | 4.レイアウト管理 | |
| – Absolute positioning | – 絶対位置指定 | QLabel |
| – Box layout | – ボックスレイアウト | QHBoxLayout, QVBoxLayout |
| – QGridLayout | – グリッドレイアウト | QGridLayout |
| – Review example | – レビューアプリケーション | QLineEdit |
| 5.Events and signals | 5.イベントとシグナル | |
| – Events | – イベント | - |
| – Signals & slots | – シグナルとスロット | QLCDNumber, QSlider |
| – Reimplementing event handler | – イベントハンドラの再実装 | Qt |
| – Event sender | – イベント発行者 | (QtObject.sender()) |
| – Emitting signals | – シグナルの発火 | pyqtSignal, QObject |
| 6.Dialogs | 6.ダイアログ | |
| – QInputDialog | – 入力用ダイアログ | QInputDialog |
| – QColorDialog | – 色選択ダイアログ | QFrame, QColorDialog |
| – QFontDialog | – フォント選択ダイアログ | QFontDialog, QSizePolicy |
| – QFileDialog | – ファイル選択ダイアログ | QFileDialog |
| 7.Widgets | 7.ウィジェット | |
| – QCheckBox | – チェックボックス | QCheckBox |
| – Toggle button | – トグルボタン | QColor |
| – QSlider | – スライダー | QSlider, QPixmap |
| – QProgressBar | – プログレスバー | QProgressBar, QBasicTimer |
| – QCalendarWidget | – カレンダー | QCalendarWidget, QDate |
| 8.Widgets II | 8.ウィジェット2 | |
| – QPixmap | – 画像を扱うQPixmap | QPixmap |
| – QLineEdit | – ラインエディタ | QLineEdit |
| – QSplitter | – スプリッター | QFrame, QSplitter, |
| – QComboBox | – コンボボックス | QComboBox |
| 9.Drag and drop | 9.ドラッグ&ドロップ | |
| – Simple drag and drop | – 簡単なドラッグ&ドロップ | (QWidget.setAcceptDrops() |
| – Drag & drop a button widget | – ボタンをドラッグ&ドロップ | QDrag, QMimeData |
| 10.Painting | 10.グラフィックの描画 | |
| – Drawing text | – テキストの描画 | QPainter, QColor, QFont |
| – Drawing points | – 点の描画 | QPainter, QColor, QPen |
| – Colours | – 色 | QPainter, QColor, QBrush |
| – QPen | – ペン | QPainter, QColor, QPen |
| – QBrush | – ブラシ | QPainter, QBrush |
| 11.Custom widgets | 11.カスタムウィジェットの作成 | |
| – Burning widget | – CD作成ソフトの画面 | (新出オブジェクトなし) |
| 12.The Tetris game | 12.テトリス | |
| – Tetris | – テトリス | (新出オブジェクトなし) |
参考サイト
- ZetCode, tutorials for programmers
PyQt5 tutorial - learn GUI programming with PyQt5
PyQt5の良質なチュートリアル。各部品についてシンプルな使い方を説明していて、初学者にわかりやすい。ZetCodeでは他にもいいチュートリアルが揃っているので、また今度使ってみたいです。Google Dictionary (by Google) - Chrome ウェブストア
これ、単語をダブルクリックすると意味をポップアップしてくれるので、とっても便利です!
気づいたこと、不具合、ご意見など、コメント待ってます!