Python-GUIプログラミング(Tkinter)

Pythonは、グラフィカルユーザーインターフェイス(GUI)を開発するためのさまざまなオプションを提供します。最も重要なものを以下に示します。

  • Tkinter− Tkinterは、Pythonに同梱されているTkGUIツールキットへのPythonインターフェースです。この章では、このオプションについて説明します。

  • wxPython −これはwxWindows用のオープンソースのPythonインターフェースです http://wxpython.org。

  • 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/python

import Tkinter
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のジオメトリマネージャークラスを公開しています。

  • パック()メソッド-このジオメトリマネージャは、親ウィジェットでそれらを配置する前に、ブロック内のウィジェットを開催しています。

  • グリッド()メソッド-このジオメトリマネージャは、親ウィジェットにテーブル状の構造でウィジェットを整理します。

  • 場所()メソッドは、 -このジオメトリマネージャは、親ウィジェット内の特定の位置に置くことにより、ウィジェットを整理します。

ジオメトリ管理方法を簡単に調べてみましょう-