Python TKinter进程不是绘制标签、按钮和输入字段。。。我做错了什么?

Python TKinter进程不是绘制标签、按钮和输入字段。。。我做错了什么?,python,tkinter,Python,Tkinter,我是一名全日制学生,正在上python的第一堂课。 这太奇怪了,它正在工作,现在,它不再显示按钮、标签和输入字段。我肯定这是我删除或添加的东西,但我不知所措。 有什么想法吗?欢迎所有建议 从Tkinter导入* 导入tkFont 导入tkMessageBox 类BouncyGUI(帧): “”“用于与第9章第1节中的反弹计算接口的GUI。”“” 定义初始化(自): 帧。\uuuu初始化\uuuuu(自) #建立基础框架 self.master.title(“计算球的弹性”) self.maste

我是一名全日制学生,正在上python的第一堂课。 这太奇怪了,它正在工作,现在,它不再显示按钮、标签和输入字段。我肯定这是我删除或添加的东西,但我不知所措。 有什么想法吗?欢迎所有建议

从Tkinter导入*
导入tkFont
导入tkMessageBox
类BouncyGUI(帧):
“”“用于与第9章第1节中的反弹计算接口的GUI。”“”
定义初始化(自):
帧。\uuuu初始化\uuuuu(自)
#建立基础框架
self.master.title(“计算球的弹性”)
self.master.rowconfigure(0,权重=1)
self.master.columnconfigure(0,权重=1)
self.master.grid()
self.master.可调整大小(0,0)
#建立用于捕捉高度的组件
self.\u heightLabel=标签(self,
text=“初始跌落高度:”,
justify=“left”)
self.\u heightLabel.grid(行=0,列=0)
self.\u heightVar=DoubleVar()
self.\u=Entry(self,
textvariable=self.\u heightVar,
justify=“center”)
self.\u.grid(行=0,列=1)
#建立“弹性指数”
self.\u bouncyIndex=标签(self,
text=“弹性指数:”,
justify=“left”)
self.\u bouncyIndex.grid(行=1,列=0)
self.\u bouncyVar=DoubleVar()
self.\u bouncyEntry=输入(self,
textvariable=self.\u bouncyVar,
justify=“center”)
self.\u bouncyEntry.grid(行=1,列=1)
自反射波集(0.6)
#确定允许反弹的数量
self.\u numberBounces=标签(self,
text=“反弹次数:”,
justify=“left”)
self.\u numberBounces.grid(行=2,列=0)
self.\u numberbouncsvar=IntVar()
self.\u numberBouncesEntry=入口(self,
textvariable=self.\u numberbouncsvar,
justify=“center”)
self.\u numberBouncesEntry.grid(行=2,列=1)
#为响应建立一个字段
self.\u答案=标签(self,
text=“行驶距离”,
justify=“left”)
self.\u answer.grid(行=3,列=0)
self.\u answerVar=DoubleVar()
self.\u answerFont=tkFont.Font(weight=“bold”,size=12)
self.\u answerEntry=Entry(self,
textvariable=self.\u answerVar,
justify=“center”,
font=self.\u answerFont)
self.\u answerEntry.grid(行=3,列=1)
self.\u answerEntry.config(状态=禁用,bg=“绿色”)
#创建用于容纳按钮的框架
self.\u按钮框架=框架(self)
self.\u按钮frame.grid(行=4,列=0,列span=2)
#创建重置按钮
self.\u buttonReset=按钮(self.\u buttonFrame,
text=“重置”,
命令=自复位,
宽度=15,
padx=2,
帕迪=2)
self.\u按钮重置网格(行=0,列=0)
#self.\u buttonReset.config(状态=禁用)
#创建计算按钮
self.\u buttonCalc=按钮(self.\u buttonFrame,
text=“计算”,
命令=self.\u计算,
宽度=15,
padx=2,
帕迪=2)
self.\u按钮液晶网格(行=0,列=1)
#self.\u buttonCalc.config(状态=正常)
def_重置(自):
“”“允许重新设置屏幕以输入新数据。”“”
自高度变量集(0.0)
自组(0)
自应答变量集(0.0)
#self.\u buttonCalc.config(状态=正常)
#self.\u buttonReset.config(状态=禁用)
#self.\u numberBouncesEntry.config(状态=正常)
#self.\u bouncyEntry.config(状态=正常)
#self.\u.config(状态=正常)
def_计算(自):
“”“计算弹性并更新GUI”“”
如果self.\u validDataTypes():
self.\u answerVar.set(计算距离(self.\u heightVar.get())\
self.\u bouncyVar.get()\
self.\u numberbouncsvar.get())
#self.\u numberBouncesEntry.config(状态=禁用)
#self.\u bouncyEntry.config(状态=禁用)
#self.\u.config(状态=已禁用)
#self.\u buttonCalc.config(状态=禁用)
#self.\u buttonReset.config(状态=正常)
def_有效数据类型(自身):
theMessage=“”
如果self.\u isInt(self.\u numberbouncsvar.get())!=正确:
theMessage+=“请重新输入反弹次数的整数值。\n”
elif self.\u isFloat(self.\u bouncyVar.get())!=正确:
theMessage+=“请重新输入弹性指数的浮点值。\n”
elif self.\u isFloat(self.\u heightVar.get())!=正确:
消息+=“请重新输入初始高度的浮动值。”
如果len(消息)>0:
tkMessageBox.showerror(message=message,parent=self)
返回错误
其他:
返回真值
定义存在(自身、值):
#测试以确保输入的值是整数
尝试:
x=int(val
def main():
    """Run the main program"""
    root = Tk()
    gui = BouncyGUI()
    gui.pack()
    root.mainloop()
NameError: global name 'message' is not defined
def main()
    app = BouncyGUI()
    app.grid()
    app.mainloop()