tkinterを使い始めるにあたって、まずはメインウィンドウを作ることから始めます。
メインウィンドウを作ったらタイトルやウィンドウの大きさ、アイコンの設定をしていきます。
Window
tkinterのHelloWorldのプログラムを書きます。tkinterを使ってアプリケーション作るときはじめにトップレベルのウィンドウ(メインウィンドウ)を生成する必要があります。以下のように3行書くだけでメインウィンドウの作成をし、アプリケーションの実行をすることができます。
このプログラムを実行すると、下のようなウィンドウが出てきます。
このプログラムでは1行目でtkinterをtkとしてインポート。2行目でTkのオブジェクトを作成する。このオブジェクトがメインウィンドウになる。3行目でイベントループを開始する。イベントループが開始するとメインウィンドウが立ち上がり、ユーザからの処理(イベント)待ちの状態になる。
tkinterを使ったGUIアプリケーションの作成は以下のようなステップになります。
(※上の例ではWidgetは配置していません。)
今回は3の手順を除いたHelloWorldプログラムを書いて実際にメインウィンドウを作ってみます。それが下のプログラムになります。上のプログラムにいくつかのメソッドを使うことにより、メインウィンドウのタイトル、サイズ、位置、アイコンの設定をしています。(※画像は各自用意してください。)
このプログラムを実行すると、下のようなウィンドウが出てきます。
プログラムで使ったメソッド一覧
.title(text)
タイトルの設定をする
.resizable(width, height)
ウィンドウの縦横の拡大縮小の設定をする。Trueを渡せば拡大縮小でき、Falseだとできなくなる。
デフォルトではwidth, heightともに1が入っている。つまり拡大縮小が可能な状態。
.geometry(width x height ± x ± y)
ウィンドウのサイズ(width, height)と位置(x, y)を設定する。
.iconbitmap(bitmap)
アイコン画像の設定。png画像だとエラーがでたのでアイコンファイルに変換した。
ただ、以下のようなエラーが出る場合は、
_tkinter.TclError: bitmap "hoge.ico" not defined
次のようにするといい。
.mainloop()
イベントループが開始され、ユーザからのイベント待ち(ボタンのクリックやテキストの入力など)の状態になる。widgetが配置された後に使う。
おまけ
.maxsize(width, height)
ウィンドウが拡大できる最大のサイズの設定。widthだけ設定するとエラーが出ます。heightだけ設定すると適用されません。widthとheightを設定する必要があります。
.minsize(width, height)
ウィンドウが縮小できる最小のサイズの設定。widthだけ設定するとエラーが出ます。heightだけ設定すると適用されません。widthとheightを設定する必要があります。
.configure(option)
widgetのオプションを設定できる。オプションはwidgetの生成のときに設定できるが、トップレベルのウィンドウの生成のときは設定できないみたい。なので、オプションを設定したいときはウィンドウを生成した後に設定する。下の例ではウィンドウの背景の色とサイズの設定をしている。おそらくトップレベルのウィンドウで設定できるオプションは背景の色とサイズだけのよう。tkinterで使える色の一覧(Tk Built-In Commands - colors manual page)
.cget(option_name)
オプションの情報を参照できる。option_nameは文字列で指定する必要がある。
To be continued...