1月14日(操作画面)

ページ名:1月14日(操作画面)

まっさらな画面

import tkinter as tk
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() #ボタン

問題:注文していない商品について、「○○もいかがでしょうか」と表示するようにしなさい

シェアボタン: このページをSNSに投稿するのに便利です。

コメント

返信元返信をやめる

※ 悪質なユーザーの書き込みは制限します。

最新を表示する

NG表示方式

NGID一覧