在我的程序中有一个按钮,当我按下它时会得到rara
条目。
但它不起作用。有没有人知道可能是什么问题?
from tkinter import *
import random
import tkinter.messagebox
class Application(Frame):
""" GUI aplication hoger of lager"""
def __init__(self,master):
"""Instaleerd het Frame"""
super(Application, self).__init__(master)
self.grid()
Application.rarara=0;Application.aantal=0;Application.max_pogingen=10;Application.ikdenkaan=random.randrange(1,100)
self.main()
master.after(1,self.welkom)
def welkom(self):
"""Create Widgets voor het spelletje hoger of lager"""
#Verwelkomingslebels en instructielabels
msgb=tkinter.messagebox.showinfo("uitleg",
"Welkom bij het spelletje'hoger of lager'.\nIk heb zojuist aan een getal tussen 1 en 100 gedacht.\nJij mag dat getal raden en je hebt 10 pogingen."
)
def labels(self):
#ik denk aan label
Label(self,
text="Ik denk aan:"
).grid(row=0,column=0,sticky=W)
def invoer(self):
rara=Entry(self)
rara.config(width=5)
rara.grid(row=0, column=1,sticky=W)
rara.configure(state="normal")
def naknopindruk(self):
ikdenkaan=Application.ikdenkaan
max_pogingen=Application.max_pogingen
aantal=Application.aantal
rara=Application.invoer.rara
rarara=rara.get()
Application.aantal+=1
if rarara==ikdenkaan and max_pogingen !=aantal:
msgb2=tkinter.messagebox.showinfo("winaar","je hebt het juiste getal geraden.\nJe hebt het in "+aantal+" gedaan")
def knop(self):
Button(self,text="raad",command=self.naknopindruk).grid(row=1,column=0,sticky=[W,E])
def main(self):
self.labels()
self.invoer()
self.knop()
root=Tk()
root.title("Hoger of lager")
root.geometry("+533+244")
app=Application(root)
root.mainloop()
答案 0 :(得分:1)
您需要保存对rara
的引用。例如:
self.rara = Entry(...)
...
rarara = self.rara.get()
答案 1 :(得分:0)
为了访问' rara'再次,您需要保存对它的引用。在函数结束时,只需添加以下代码: self.rara = rara
当您需要再次访问它时,您可以使用self.rara获取该属性 在您尝试访问它之前,请注意您已初始化它,因为您可能会收到错误。