まっさらな画面
root = tk.Tk()
root.title("画面のテスト") #タイトル
root.geometry("400x300") #ウィンドウサイズ
#★ここにあれこれ書きます
root.mainloop() #全体を表示する
文字列(ラベル)
tk.Label(text="こんにちは!").pack()
フォント
tk.Label(text="こんにちは!", font=("", 20), fg="red").pack()
問題:ラベルを1つ追加しなさい。
ボタン
def aisatsu():
tk.Label(text="こんにちは!").pack()
tk.Button(text="押してね", command = aisatsu).pack() #ボタンの設定
問題:ボタンとそのボタンが押されたときの処理を1つ追加しなさい。
入力画面
def aisatsu():tk.Label(text = "こんにちは!" + namae.get() + "さん").pack()
tk.Label(text = "お名前は?").pack()
namae = tk.StringVar()
tk.Entry(textvariable = namae, width = 30).pack() #入力フォームの表示
tk.Button(text = "OK", command = aisatsu).pack() #ボタンの表示
問題:入力画面をひとつ追加し、ボタンが押されたときに入力内容が表示されるようにしなさい。
ひとつ選択ボタン(Radiobutton)
●基本
tk.Radiobutton(text = "選択肢").pack()
●複数の選択肢
sentakushi = ["選択肢1", "選択肢2", "選択肢3", "選択肢4"]
for i in range(len(sentakushi)):
tk.Radiobutton(text = sentakushi[i]).pack()
●横に並べる
sentakushi = ["選択肢1", "選択肢2", "選択肢3", "選択肢4"]
sentakuFrame = tk.Frame()
sentakuFrame.pack()
for i in range(len(sentakushi)):
tk.Radiobutton(sentakuFrame, text = sentakushi[i]).pack(side="left")
●初期値を設定する
sentakushi = ["選択肢1", "選択肢2", "選択肢3", "選択肢4"]
kotae = tk.IntVar() #何番の選択肢がチェックされているか
kotae.set(0) #初期値は0番をチェックする
sentakuFrame = tk.Frame()
sentakuFrame.pack()
for i in range(len(sentakushi)):
tk.Radiobutton(sentakuFrame, text = sentakushi[i], variable = kotae, value = i).pack(side="left")
●チェックした値を表示する
def kotaeawase():
tk.Label(text = kotae.get()).pack()
sentakushi = ["選択肢1", "選択肢2", "選択肢3", "選択肢4"]
kotae = tk.IntVar() #何番の選択肢がチェックされているか
kotae.set(0) #初期値は0番をチェックする
sentakuFrame = tk.Frame()
sentakuFrame.pack()
for i in range(len(sentakushi)):
tk.Radiobutton(sentakuFrame, text = sentakushi[i], variable = kotae, value = i).pack(side="left")
tk.Button(root,text = "OK", command = kotaeawase).pack() #ボタンの表示
●ラベルを上書きする
def kotaeawase():
message.set(kotae.get())
sentakushi = ["選択肢1", "選択肢2", "選択肢3", "選択肢4"]
kotae = tk.IntVar() #何番の選択肢がチェックされているか
kotae.set(0) #初期値は0番をチェックする
sentakuFrame = tk.Frame()
sentakuFrame.pack()
for i in range(len(sentakushi)):
tk.Radiobutton(sentakuFrame, text = sentakushi[i], variable = kotae, value = i).pack(side="left")
tk.Button(root,text = "OK", command = kotaeawase).pack() #ボタンの表示
message = tk.StringVar()
messageLabel = tk.Label(root, textvariable = message)
messageLabel.pack()
root.mainloop()
●クイズゲーム
import tkinter as tk
mondai = "朝来市佐嚢の出身で第百銀行の頭取を務めた人物は誰でしょう。"
sentakushi = ["北垣国道","原六郎","桜井勉","加藤弘之"]
seikai = 1 #sentakushiの番地
def kotaeawase():
if kotae.get() == seikai:
message.set("正解!")
else:
message.set("間違え!")
root = tk.Tk()
root.geometry("400x300") #ウィンドウサイズ
tk.Label(root,text = mondai).pack() #問題文の表示
kotae = tk.IntVar() #何番の選択肢がチェックされているか
kotae.set(0) #初期値は0番をチェックする
sentakuFrame = tk.Frame(root)
sentakuFrame.pack()
for i in range(len(sentakushi)):
tk.Radiobutton(sentakuFrame, text = sentakushi[i], variable = kotae, value = i).pack(side='left')
tk.Button(root,text = "OK", command = kotaeawase).pack() #ボタンの表示
message = tk.StringVar()
messageLabel = tk.Label(root, textvariable = message)
messageLabel.pack()
root.mainloop()
複数選択ボタン(checkbox)
menu = ["コーヒー", "紅茶", "ケーキ", "ランチ"]
def kakunin(): #注文を確認する文章を表示する
bun = "ご注文は"
for i in range(len(menu)):
if checklist[i].get():
bun = bun + menu[i]
bun = bun + "ですね。"
tk.Label(text = bun).pack()
tk.Label(text = "ご注文は?").pack()
checklistFrame = tk.Frame()
checklistFrame.pack()
checklist = [] #チェックの有無を並べたリスト
for shohin in menu:
check = tk.BooleanVar() #チェックされているかどうか
tk.Checkbutton(checklistFrame, variable = check, text = shohin).pack(side="left")
checklist.append(check)
tk.Button(text = "OK", command = kakunin).pack() #ボタン
問題:注文していない商品について、「○○もいかがでしょうか」と表示するようにしなさい
コメント
最新を表示する
NG表示方式
NGID一覧