前提・実現したいこと
tkinterを利用してクイズを作りたいです。
発生している問題・エラーメッセージ
ボタンを押したときに答えがあっているか確認したいですが、入力内容をうまく取得できずにエラーが起こってしまいます。
このエラーをけすためにはどうしたらよいですか?
エラーメッセージ answer = entry.get() AttributeError: 'int' object has no attribute 'get'
該当のソースコード
python
1import tkinter 2from tkinter import messagebox 3from tkinter import font 4 5 6entry = 0 7root1 = 0 8answer = 0 9 10answers = 0 11 12 13def cms():#スタートメッセージを閉じる関数。 14 roots.destroy() 15 shutudai() 16 17 18def shutudai(): 19 count = 0 20 21 with open("question.txt", "r", encoding = "utf-8") as f: 22 for questions in f: 23 question = questions.split("|") 24 quiz = question[0] 25 answers = question[1] 26 count += 1 27 root1 = tkinter.Tk() 28 root1.title('') 29 root1.state('zoomed') 30 label = tkinter.Label(text="第" + str(count) + "問", font=('ゴシック', 20)) 31 label.pack() 32 label = tkinter.Label(text=quiz, font=('ゴシック', 20)) #text = "問題文" 33 label.pack() 34 label = tkinter.Label(text='↓ここに解答を入力', font=('ゴシック', 20)) 35 label.pack() 36 entry = tkinter.Entry(width=20, font=('ゴシック', 20)) 37 entry.pack() 38 button = tkinter.Button(text='解答する', font=('ゴシック', 20), command=cm, width=10) 39 button.pack() 40 root1.mainloop() 41 42def cm():#正解か判断して分岐させる関数。 43 answer = entry.get() 44 45 if answer == answers: 46 root1.destroy() 47 else: 48 messagebox.showerror('', '残念、不正解です。')#間違えたらエラーメッセージ 49 50 51def cmg():#ゴールメッセージを閉じる関数。 52 rootg.destroy() 53 54roots = tkinter.Tk()#スタート画面 55roots.title('')#タイトルは無し。 56roots.state('zoomed') 57label = tkinter.Label(text='', font=('ゴシック', 50)) 58label.pack() 59button1 = tkinter.Button(text='クイズを作る', font=('ゴシック', 20), command=cms, width=15).place(x = 850, y = 100) 60button2 = tkinter.Button(text="クイズを解く", font=("ゴシック", 20), command=cms, width=15).place(x = 850, y = 160) 61roots.mainloop() 62 63 64rootg = tkinter.Tk()#ゴール画面 65rootg.title('') 66rootg.state('zoomed') 67label = tkinter.Label(text=' \n\n全問正解おめでとう!!\n ', font=('ゴシック', 50)) 68label.pack() 69button = tkinter.Button(text='終了', font=('ゴシック', 20), command=cmg, width=10) 70button.pack() 71roots.mainloop()
試したこと
answer = entory.get()を
answer = str(entory.get())にしてみましたが、変化はありませんでした。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/08/23 04:59