Tkinter 如何使用同一类中另一个函数的变量?

Tkinter 如何使用同一类中另一个函数的变量?,tkinter,python-3.3,Tkinter,Python 3.3,在我的程序中,我有一个按钮,当我按下它时,它会得到rara条目。 但它不起作用。有人知道问题出在哪里吗 from tkinter import * import random import tkinter.messagebox class Application(Frame): """ GUI aplication hoger of lager""" def __init__(self,master): """Instaleerd het Frame"""

在我的程序中,我有一个按钮,当我按下它时,它会得到
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()

您需要保存对
rara
的引用。例如:

self.rara = Entry(...)
...
rarara = self.rara.get()

为了再次访问“rara”,您需要保存对它的引用。在函数末尾,只需添加以下代码: self.rara=rara

当您需要再次访问它时,您可以使用self.rara获取该属性 但是,在尝试访问它之前,请小心初始化了它,否则可能会出错