シンプルアプリケーション

提供: tknotebook
移動: 案内検索

メインページ>コンピュータの部屋#Python>Tkinter Tips


さて、ここではもう少しまともなアプリを組んでみましょう。 ボタンを押すとメッセージダイアログを表示するプログラムです。 つまりイベント処理が必要なアプリです。

import tkinter as tk
import tkinter.messagebox as tmb

def click():
    tmb.showinfo("メッセージ", "clicked")


root = tk.Tk()

tk.Label(root, text="シンプルアプリケーション", bg="yellow").pack(padx=5, pady=5)
tk.Button(root, text="Click me!", command=click, bg="lightgreen").pack(padx=5, pady=5)

root.mainloop()

このコードを動かすと画面

Simple App.png

が表示されます。「Click Me!」と描いてあるボタンを押すと、メッセージダイアログ

Simple App Message.png

が表示されます。これだけです(^^;

コード

def click():
    tmb.showinfo("メッセージ", "clicked")

はイベントハンドラで、ボタンが押されたときに呼び出される関数です。 メッセージダイアログを表示します。

コード

tk.Label(root, text="シンプルアプリケーション", bg="yellow").pack(padx=5, pady=5)

は、ラベルを作り、ルートウィンドウに貼り付けているコードです。背景色を黄色に、 貼り付ける際、ボタンの周りのマージンを5ピクセルに設定しているのに注意してください。詳しくはまた別の記事で解説します。

tk.Button(root, text="Click me!", command=click, bg="lightgreen").pack(padx=5, pady=5)

は、ボタンを作り、背景を明るい緑にして、やはり5ピクセルのマージンでルートウィンドウに貼り付けています。pack()メソッドはウィジェットが重ならないように、上から下にむかってウィジェットを積む、と考えれば良いでしょう。HTMLのブロックの配置のやり方に少し似ています。

このアプリの肝心なところは、commandオプションの部分で、ボタンの作成パラメータの中に command=click と書くと ボタンがクリックされたときに click 関数(イベントハンドラ=コールバック)が呼び出されるというところです。

以上、簡単なアプリケーションですが、ボタンを画面に貼りこんで、ボタンクリック時に任意の仕事をさせることができるならば 、もうこれだけでいろいろなアプリケーションを書けます。是非いろいろと試してみてください。