前提・実現したいこと
Tkinterで「次へボタン」を作成し、ボタンを押したら次のウィンドウを表示させたいです。
既に次に表示させたいプログラムは書いてあります。しかし、それとどんな風に連結させたらいいのか分かりません。
先に表示させるウィンドウのコードと「次へボタン」が押されたあとに表示させたいウィンドウのコードを載せます。
すべて正しく動くのでこのサイトに反しているかもしれません。何卒宜しくお願い致します。
該当のソースコード
python
1import tkinter 2def create_window(): 3 import random 4 D = random.randint(0,5) 5#ウィンドウ作成 6 root = tkinter.Tk() 7 root.title("運勢占い") 8 root.minsize(640, 480) 9 root.option_add("*font", ["MS Pゴシック", 22]) 10 #画像読み込み 11 getu = tkinter.PhotoImage(file="大吉.png") 12 ka = tkinter.PhotoImage(file="凶.png") 13 sui = tkinter.PhotoImage(file="吉.png") 14 moku = tkinter.PhotoImage(file="小吉.png") 15 #画像表示 16 canvas = tkinter.Canvas(bg="plum", width=640, height=480) 17 canvas.place(x=0, y=0) 18 img = tkinter.PhotoImage(file="神社.png") 19 canvas.create_image(320, 240, image=img) 20 #ラベル01 21 question1 = tkinter.Label(text="あなたが入力した数字で今日の運勢を占います。", bg="plum") 22 question1.place(x=20, y=23) 23 question2 = tkinter.Label(text="を↓に入力してください。", bg="plum") 24 question2.place(x=279, y=60) 25 question3 = tkinter.Label(text="0~10の数字",fg="red", bg="plum") 26 question3.place(x=117, y=60) 27 #入力ボックス 28 entry = tkinter.Entry(width=2, bd=4, bg="#f9f948") 29 entry.place(x=300, y=140) 30 31 #決定ボタン 32 button = tkinter.Button(text="占うボタン",bd=3, bg="#e0a3ff") 33 button.place(x=240, y=400) 34 #おみくじ始まり 35 def btn_click(): 36 a = float(entry.get()) 37 if a > 10: 38 again_text = tkinter.Label(text="0から10の数字を入力してください。",fg="red",bg="plum") 39 again_text.place(x=105,y=30) 40 question1.destroy() 41 question2.destroy() 42 question3.destroy() 43 return 44 if a < 0: 45 again_text = tkinter.Label(text="0から10の数字を入力してください。",fg="red",bg="plum") 46 again_text.place(x=105,y=30) 47 question1.destroy() 48 question2.destroy() 49 question3.destroy() 50 return 51 if a+D == 8 or a+D == 9: 52 again_text = tkinter.Label(text=" ",fg="red",bg="plum") 53 again_text.place(x=100,y=30) 54 res_text = tkinter.Label(text="あなたの今日の運勢は大吉です。",fg="red", bg="plum") 55 res_text.place(x=115, y=20) 56 res_text = tkinter.Label(text="やったね!", bg="plum") 57 res_text.place(x=250, y=425) 58 canvas.delete("all") 59 question1.destroy() 60 question2.destroy() 61 question3.destroy() 62 entry.destroy() 63 button.destroy() 64 canvas.create_image(320, 240, image=getu) 65 if 10 <= a+D <= 15: 66 again_text = tkinter.Label(text=" ",fg="red",bg="plum") 67 again_text.place(x=100,y=30) 68 res_text = tkinter.Label(text="あなたの今日の運勢は凶です。",fg="darkviolet",bg="plum") 69 res_text.place(x=120, y=20) 70 res_text = tkinter.Label(text="ざんねーん", bg="plum") 71 res_text.place(x=250, y=425) 72 canvas.delete("all") 73 question1.destroy() 74 question2.destroy() 75 question3.destroy() 76 entry.destroy() 77 button.destroy() 78 canvas.create_image(320, 240, image=ka) 79 if 4 <= a+D <= 7: 80 again_text = tkinter.Label(text=" ",fg="red",bg="plum") 81 again_text.place(x=100,y=30) 82 res_text = tkinter.Label(text="あなたの今日の運勢は吉です。",fg="green",bg="plum") 83 res_text.place(x=120, y=24) 84 res_text = tkinter.Label(text="おっええやん", bg="plum") 85 res_text.place(x=240, y=430) 86 canvas.delete("all") 87 question1.destroy() 88 question2.destroy() 89 question3.destroy() 90 entry.destroy() 91 button.destroy() 92 canvas.create_image(320, 245, image=sui) 93 if 0 <= a+D <= 3: 94 again_text = tkinter.Label(text=" ",fg="red",bg="plum") 95 again_text.place(x=100,y=30) 96 res_text = tkinter.Label(text="あなたの今日の運勢は小吉です。",fg="sienna",bg="plum") 97 res_text.place(x=120, y=20) 98 res_text = tkinter.Label(text="いいじゃん!", bg="plum") 99 res_text.place(x=243, y=425) 100 canvas.delete("all") 101 question1.destroy() 102 question2.destroy() 103 question3.destroy() 104 entry.destroy() 105 button.destroy() 106 canvas.create_image(320, 240, image=moku) 107 108 button["command"] = btn_click 109 root.mainloop() 110 111root = tkinter.Tk() 112root.title("運勢占い") 113root.minsize(640, 480) 114root.option_add("*font", ["MS Pゴシック", 22]) 115 116canvas = tkinter.Canvas(bg="black" , width=640 , height=480) 117canvas.place(x=0, y=0) 118 119intro = tkinter.Label(text = "ようこそ", bg="black", fg="red") 120intro.place(x=280, y=180) 121 122intro = tkinter.Label(text = "ここではあなたが入力した数字で\n今日の運勢を占います", bg="black", fg="red") 123intro.place(x=120, y=230) 124 125button = tkinter.Button(text = "次へ" ,bd = 3, bg= "black", fg="#3374ff", command=create_window) 126button.place(x=280, y=370) 127 128root.mainloop() 129
試したこと
button = tkinter.Button(text = "次へ" ,bd = 3, bg= "black", fg="#3374ff")
button.place(x=280, y=370)
の後にdef文を書いてみようと思いましたが、どんな風に書いたらいいか分からずここに聞きました。甘い考えですみません。
補足情報(FW/ツールのバージョンなど)
python3.7.1
Windows10
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/11/11 09:06
2020/11/12 01:37
2020/11/13 05:09