ティーケーインターによる画面の作成
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 #ウィンドウの表示
画面が表示されます。
ティーケーインターによる簡単な画面の作成と関数の実行
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" command=moji) #ボタンを作成, 関数の実行
# 画面へのオブジェクトの配置と画面の表示
label1.pack() #画面にラベルを配置する
button1.pack() #画面にボタンを配置
tkinter.mainloop #ウィンドウの表示
画面が表示され、ボタンを押すと、関数が実行されて文字が表示されます。
Tokyo Yokohama
ティーケーインターとピローによる画像の表示
画面を作成するtkinter(ティーケーインター)と画像処理ライブラリーのpillow(ピロー)を組み合わせて、画像表示アプリや画像処理アプリを作成します。
[補足]
tkinterにもある程度の画像処理機能はありますが、画像処理に特化したOpenCVやpillowなどの画像処理ライブラリと組み合わせて行うのが一般的です。
[補足]
tkinterにもある程度の画像処理機能はありますが、画像処理に特化したOpenCVやpillowなどの画像処理ライブラリと組み合わせて行うのが一般的です。
Windowsコマンドプロンプトで、次のようにしてpillowをインストールします。
pip install pillow
pip install pillow
コマンドプロンプトからpillowをインストール
# 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()
画面に画像が表示されます。
ティーケーインターによる入力データのファイルへの保存
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()
「入力データの格納」アプリが起動します。データを入力して「保存」を押すとデータが保存されます。
ティーケーインターによるデータの保存と読込
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()
「データの格納と読込」アプリが起動します。
「読込」を押すとデータが読み込まれ、「内容」の横のテキストボックスに表示されます。
「読込」を押すとデータが読み込まれ、「内容」の横のテキストボックスに表示されます。
