Python 3-GUIプログラミング(Tkinter)
Pythonは、グラフィカルユーザーインターフェイス(GUI)を開発するためのさまざまなオプションを提供します。最も重要な機能を以下に示します。
Tkinter− Tkinterは、Pythonに同梱されているTkGUIツールキットへのPythonインターフェースです。この章では、このオプションについて説明します。
wxPython−これはwxWidgetsGUIツールキット用のオープンソースのPythonインターフェースです。WxPythonの完全なチュートリアルはここにあります。
PyQt-これは、人気のあるクロスプラットフォームのQtGUIライブラリ用のPythonインターフェイスでもあります。TutorialsPointには、PyQtに関する非常に優れたチュートリアルがあります。
JPython − JPythonはJava用のPythonポートであり、Pythonスクリプトがローカルマシン上のJavaクラスライブラリにシームレスにアクセスできるようにします。 http://www.jython.org。
利用可能な他の多くのインターフェースがあり、それらはネット上で見つけることができます。
Tkinterプログラミング
TkinterはPythonの標準GUIライブラリです。PythonをTkinterと組み合わせると、GUIアプリケーションをすばやく簡単に作成できます。Tkinterは、TkGUIツールキットへの強力なオブジェクト指向インターフェースを提供します。
Tkinterを使用してGUIアプリケーションを作成するのは簡単な作業です。あなたがする必要があるのは次のステップを実行することです-
Tkinterモジュールをインポートします。
GUIアプリケーションのメインウィンドウを作成します。
上記のウィジェットを1つ以上GUIアプリケーションに追加します。
メインイベントループに入り、ユーザーによってトリガーされた各イベントに対してアクションを実行します。
例
#!/usr/bin/python3
import tkinter # note that module name has changed from Tkinter in Python 2 to tkinter in Python 3
top = tkinter.Tk()
# Code to add widgets will go here...
top.mainloop()
これにより、次のウィンドウが作成されます-
Tkinterウィジェット
Tkinterは、GUIアプリケーションで使用されるボタン、ラベル、テキストボックスなどのさまざまなコントロールを提供します。これらのコントロールは一般にウィジェットと呼ばれます。
Tkinterには現在15種類のウィジェットがあります。これらのウィジェットと簡単な説明を次の表に示します-
シニア番号 | オペレーターと説明 |
---|---|
1 |
ボタン
ボタンウィジェットは、アプリケーションのボタンを表示するために使用されます。 |
2 |
キャンバス
Canvasウィジェットは、アプリケーションで線、楕円、多角形、長方形などの形状を描画するために使用されます。 |
3 |
チェックボタン
チェックボタンウィジェットは、チェックボックスとしていくつかのオプションを表示するために使用されます。ユーザーは一度に複数のオプションを選択できます。 |
4 |
エントリ
エントリウィジェットは、ユーザーからの値を受け入れるための1行のテキストフィールドを表示するために使用されます。 |
5 |
フレーム
フレームウィジェットは、他のウィジェットを整理するためのコンテナウィジェットとして使用されます。 |
6 |
ラベル
ラベルウィジェットは、他のウィジェットに1行のキャプションを提供するために使用されます。画像を含めることもできます。 |
7 |
リストボックス
リストボックスウィジェットは、オプションのリストをユーザーに提供するために使用されます。 |
8 |
メニューボタン
Menubuttonウィジェットは、アプリケーションのメニューを表示するために使用されます。 |
9 |
メニュー
メニューウィジェットは、ユーザーにさまざまなコマンドを提供するために使用されます。これらのコマンドはMenubutton内に含まれています。 |
10 |
メッセージ
メッセージウィジェットは、ユーザーからの値を受け入れるための複数行のテキストフィールドを表示するために使用されます。 |
11 |
ラジオボタン
ラジオボタンウィジェットは、ラジオボタンとしていくつかのオプションを表示するために使用されます。ユーザーは一度に1つのオプションしか選択できません。 |
12 |
規模
スケールウィジェットは、スライダーウィジェットを提供するために使用されます。 |
13 |
スクロール・バー
スクロールバーウィジェットは、リストボックスなどのさまざまなウィジェットにスクロール機能を追加するために使用されます。 |
14 |
テキスト
テキストウィジェットは、テキストを複数行で表示するために使用されます。 |
15 |
トップレベル
トップレベルウィジェットは、個別のウィンドウコンテナを提供するために使用されます。 |
16 |
スピンボックス
Spinboxウィジェットは、標準のTkinter Entryウィジェットの変形であり、固定数の値から選択するために使用できます。 |
17 |
PanedWindow
PanedWindowは、水平または垂直に配置された任意の数のペインを含むことができるコンテナウィジェットです。 |
18 |
ラベルフレーム
ラベルフレームは単純なコンテナウィジェットです。その主な目的は、複雑なウィンドウレイアウトのスペーサーまたはコンテナーとして機能することです。 |
19 |
tkMessageBox
このモジュールは、アプリケーションでメッセージボックスを表示するために使用されます。 |
標準属性
サイズ、色、フォントなど、それらの一般的な属性のいくつかがどのように指定されているかを見てみましょう。
Dimensions
Colors
Fonts
Anchors
レリーフスタイル
Bitmaps
Cursors
ジオメトリ管理
すべてのTkinterウィジェットは、特定のジオメトリ管理メソッドにアクセスできます。これは、親ウィジェット領域全体でウィジェットを整理することを目的としています。Tkinterは、pack、grid、placeのジオメトリマネージャークラスを公開しています。
pack()メソッド-このジオメトリマネージャーは、ウィジェットを親ウィジェットに配置する前に、ウィジェットをブロックに編成します。
grid()メソッド-このジオメトリマネージャーは、ウィジェットを親ウィジェットのテーブルのような構造に編成します。
place()メソッド-このジオメトリマネージャーは、ウィジェットを親ウィジェットの特定の位置に配置することでウィジェットを整理します。