python

ティーケーインターによる画面の作成

tkinter(ティーケーインター)を使うと、画面を作成することができます。

ティーケーインターによる簡単な画面の作成

tkinterを使って簡単な画面を作成します。
# tkinterをインポート
import tkinter

# 画面の生成と設定
root=tkinter.Tk() #画面を生成
root.geometry("300x200") #画面の大きさを設定

label1=tkinter.Label(text="LABEL") #ラベルを作成
button1=tkinter.Button(text="PUSH") #ボタンを作成

# 画面へのオブジェクトの配置と画面の表示
label1.pack() #画面にラベルを配置する
button1.pack() #画面にボタンを配置
tkinter.mainloop #ウィンドウの表示
画面が表示されます。
framework_image

ティーケーインターによる簡単な画面の作成と関数の実行

tkinterを使って簡単な画面を作成し、関数を実行します。
# tkinterをインポート
import tkinter

# 関数の定義
def moji():
	print("Tokyo")
	print("Yokohama")

# 画面の生成と設定
root=tkinter.Tk() #画面を生成
root.geometry("300x200") #画面の大きさを設定

label1=tkinter.Label(text="LABEL") #ラベルを作成
button1=tkinter.Button(text="PUSH") #ボタンを作成

# 画面へのオブジェクトの配置と画面の表示
label1.pack() #画面にラベルを配置する
button1.pack() #画面にボタンを配置
tkinter.mainloop #ウィンドウの表示
画面が表示され、ボタンを押すと、関数が実行されて文字が表示されます。
framework_image

Tokyo
Yokohama

ティーケーインターとピローによる画像の表示

画面を作成するtkinter(ティーケーインター)と画像処理ライブラリーのpillow(ピロー)を組み合わせて、画像表示アプリや画像処理アプリを作成します。

[補足]
tkinterにもある程度の画像処理機能はありますが、画像処理に特化したOpenCVやpillowなどの画像処理ライブラリと組み合わせて行うのが一般的です。
Windowsコマンドプロンプトで、次のようにしてpillowをインストールします。
pip install pillow
コマンドプロンプトからpillowをインストール pillow_pip

# tkinterをインポート
import tkinter
 
# 画面の生成と設定
root = tkinter.Tk()
root.title("testimage")
root.minsize(512, 384)
 
# 画像読込
testimage = tkinter.PhotoImage(file="testimage.png")

# 画像描画
canvas = tkinter.Canvas(width=512, height=384)
canvas.place(x=0, y=0)
canvas.create_image(0, 0, image=testimage, anchor=tkinter.NW)
root.mainloop()
画面に画像が表示されます。
pillow_image

[備考]
「pip」はPyPI(Python Package Index)に登録されているパッケージをインストールします。
「pip」はPythonをインストールした際に一緒にインストールされます。

ティーケーインターによる入力データのファイルへの保存

tkinterを使ってデータ格納アプリを作成します。 データを入力して「保存」を押すとデータが保存されます。保存先のファイルに既にデータがある場合は追記されます。 保存先はデフォルトでは「data.txt」になっていますが、書き換えることにより変更することができます。
# tkinterをインポート
import tkinter

# テキストボックス内の文字列を取得してファイルに格納
def btn_click():

    # テキストボックス内の文字列取得
    dtf = txtf.get()
    dt = txt.get()

    # ファイルを開く(モード:上書「w」、追記「a」)
    file = open(dtf, "a", encoding = "UTF-8")

    # テキストボックス内の文字列をファイルに書き込み
    file.write(dt + "\n")

    # ファイルを閉じる
    file.close()

    # 入力内容リプライ
    print("格納先ファイル名:", dtf)
    print("格納データ:", dt)

    # テキストボックス内のデータを消去
    txt.delete(0, tkinter.END)

# クラス生成
root = tkinter.Tk()

# 画面サイズ設定
root.geometry("400x220")

# タイトルバー表示
root.title("入力データの格納")

# ラベル作成
lblf = tkinter.Label(text="保存先")
lblf.place(x=40, y=60)

lbl = tkinter.Label(text="データ")
lbl.place(x=40, y=100)

# テキストボックス作成
txtf = tkinter.Entry(width=40)
txtf.place(x=90, y=60)
txtf.insert(tkinter.END,"data.txt")

txt = tkinter.Entry(width=40)
txt.place(x=90, y=100)

# ボタン作成
btn = tkinter.Button(root, text="保存", command=btn_click)
btn.place(x=190, y=160)

# 表示
root.mainloop()
「入力データの格納」アプリが起動します。データを入力して「保存」を押すとデータが保存されます。
fw_image

ティーケーインターによるデータの保存と読込

tkinterを使ってデータの保存と読込を行います。。 保存および読込先はデフォルトでは「data.txt」になっていますが、書き換えることにより変更することができます。
# tkinterをインポート
import tkinter

# テキストボックス内の文字列を取得してファイルに格納
def btn_click():

    # テキストボックス内の文字列取得
    dtf = txtf.get()
    dt = txt.get()

    # ファイルを開く(モード:上書「w」、追記「a」)
    file = open(dtf, "a", encoding = "UTF-8")

    # テキストボックス内の文字列をファイルに書き込み
    file.write(dt + "\n")

    # ファイルを閉じる
    file.close()

    # 入力内容リプライ
    print("格納先ファイル名:", dtf)
    print("格納データ:", dt)

    # テキストボックス内のデータを消去
    txt.delete(0, tkinter.END)

# ファイルから文字列を読み込んで表示
def btn2_click():

    # テキストボックス内の文字列取得
    dtf = txtf.get()

    # ファイルを開く
    file = open(dtf, "r")

    # ファイルの内容を読み込む
    dt = file.read()

    # テキストボックス内のデータを消去
    txt2.delete(0, tkinter.END)

    # テキストボックスに書き込み
    txt2.insert(tkinter.END, dt)
    
    # ファイルを閉じる
    file.close()

    # 出力内容リプライ
    print("読込先ファイル名:", dtf)
    print("ファイル内容:")
    print(dt)

# クラス生成
root = tkinter.Tk()

# 画面サイズ設定
root.geometry("400x390")

# タイトルバー表示
root.title("データの格納と読込")

# ラベル作成
lblf = tkinter.Label(text="保存先")
lblf.place(x=40, y=60)

lbl = tkinter.Label(text="データ")
lbl.place(x=40, y=100)

lbl2 = tkinter.Label(text="内容")
lbl2.place(x=40, y=300)

# テキストボックス作成
txtf = tkinter.Entry(width=40)
txtf.place(x=90, y=60)
txtf.insert(tkinter.END,"data.txt")

txt = tkinter.Entry(width=40)
txt.place(x=90, y=100)

txt2 = tkinter.Entry(width=40)
txt2.place(x=90, y=300)

# ボタン作成
btn = tkinter.Button(root, text="保存", command=btn_click)
btn.place(x=190, y=160)

btn2 = tkinter.Button(root, text="読込", command=btn2_click)
btn2.place(x=190, y=230)

# 表示
root.mainloop()
「データの格納と読込」アプリが起動します。
「読込」を押すとデータが読み込まれ、「内容」の横のテキストボックスに表示されます。
frw_image