第 1 章 メインウィンドウ

◀ 第 1 章 メインウィンドウ   【目  次】   1. 2 オプションパラメータ ▶

999999

 更新日:


 このホームページは Amazon Kindle 本の作成中の草稿です。日々、原稿を見直しているので、内容が変わることに留意して読んで下さい。本が出版され次第、このホームページは削除されます。

1. 1 メインウィンドウの作成

 tkinter GUI アプリケーションを作成するには、(1) tkinter モジュールのインポート、(2) メインウィンドウの作成、(3) イベント待機メソッドの実行、が必要です。GUI の実行コードは (2) と (3) のコードの間に記述します。

(1) tkinter モジュールは Python に同梱されている標準のモジュールで、他の標準モジュールと同様に import 文でアプリケーションにインポートします。モジュール名をそのまま使用しても良いですが、本書では「tk」という名前に置き換えて使用します。

1
import tkinter as tk

(2) メインウィンドウは tkinter の「Tk」クラスをインスタンス化することで作成できます。

tkinter.Tk(screenName=None, baseName=None, className='Tk', useTk=1, sync=0, use=None)
 メインウィンドウのクラス定義です。「Misc」および「Wm」クラスを継承しています。

引数
 デフォルト設定で使用します。

メソッド
destroy()
ウィンドウとすべてのウィジェットを破棄します。Tcl インタープリターのアプリケーションが終了します。ウィンドウが存在しなくてもエラーは返されません。
Misc クラスメソッド
Wm クラスメソッド

備考
 定義されている引数はデフォルト設定で使用し、アプリケーションでは使用しません。引数を設定せずにインスタンス化します。
 「Misc」クラスに特殊メソッドの「__setitem__」と「__getitem__」が定義されていて、オブジェクトからキーワードインデックスでオプションの値を設定、取得することができます。同様に、特殊メソッドの「__str__」が定義されていて、「str」関数でオブジェクトのパス名を取得することができます。

 「Tk」クラスからインスタンスオブジェクトを作成し、任意の変数に代入します。ここでは 「root」としています。ウィンドウのオブジェクトを代入した変数は、後にこのウィンドウを操作するために用います。

1
import tkinter as tk
2
root = tk.Tk()

(3) 作成したウィンドウを表示し続けるには、ウィンドウに対するイベントを処理するために待機させる必要があります。Misc クラスにイベント処理用の「mainloop」メソッドが定義されています。このメソッドは、ウィンドウが削除されるまでウィンドウを表示し、イベントを処理するために使用されます。下記の書式を用います。詳細は Misc クラスメソッドを参照して下さい

object.mainloop()

 次のプログラムはメインウィンドウを作成して表示しています。

1
import tkinter as tk
2
root = tk.Tk()
3
root.mainloop()

 このプログラムを実行すると、下図のようにPC画面(スクリーン)にウィンドウが表示されます。

A001_MainWindow

 デフォルトでウィンドウは上部にタイトルバーがあり、これをマウスでドラッグすることで移動することができます。ウィンドウの境界をマウスでドラッグするとサイズを変更することができます。

 タイトルバーには「tk」というタイトル名があり、その左側のアイコンをマウスで左クリックするとシステムメニューが表示されます。

 タイトルバーには最小化、最大化のボタンがあり、それぞれマウスで左クリックするとウィンドウを最小化(アイコン化)および最大化します。タイトルバーの右側には終了ボタンがあり、マウスで左クリックすることでウィンドウを閉じることができます。システムメニューの閉じるメニューを選択してもウィンドウを閉じることができます。ウィンドウが閉じられるとプログラムは「mainloop」メソッドから抜けて次のコードに進みます。


  "