我一直试图在蟒蛇Tkinter中获得一个班级工作。 但是当用"如果 name ==" main " "如果你对这个问题有任何解决方案,那么根本不起作用我很欣赏它。如果你有任何解决方案不涉及" IF"我用过的陈述请告诉我。
class Calculo:
def _init_(self,parent):
def calcular_moduloV1(self):
if Vel_in_y.get()>0 and Angulo_desp.get():
self.modulo = Vel_in_y.get()* math.sin(math.radians(Angulo_desp.get()))
label = tkinter.Label(frame,text=self.modulo)
label.pack()
def calcular_moduloV2(self):
if Vel_in_x.get()>0 and Vel_in_y.get()>0 and self.modulo == 0:
self.modulos = math.sqrt(Vel_in_x.get()**2+ Vel_in_y.get()**2)
label = tkinter.Label(frame,text=self.modulos)
label.pack()
def calcular_anguloD(self):
if Vel_in_y.get()>0 and Vel_in_x.get()>0:
self.angulo = math.degrees(math.tanh(Vel_in_y.get()/Vel_in_x.get()))
label = tkinter.Label(frame,text=self.angulo)
label.pack()
def calcular_Vel_in_y(self):
if Angulo_desp.get()>0 and Velocidad_in.get()>0 and Vel_in_y.get()==0:
self.Vel_y = Velocidad_in.get()*math.sin(math.radians(Angulo_desp.get()))
label = tkinter.Label(frame,text=self.Vel_y)
label.pack()
def calcular_Vel_in_x(self):
if Angulo_desp.get()>0 and Velocidad_in.get()>0 and Vel_in_x.get()==0:
self.Vel_x= Velocidad_in.get()*math.cos(math.radians(Angulo_desp.get()))
label = tkinter.Label(frame,text=self.Vel_x)
label.pack()
button = tkinter.Button(frame,text='respuesta' ,command =
(self.calcular_moduloV1,self.calcular_moduloV2,self.calcular_anguloD,self.calcular_Vel_in_y,self.calcular_Vel_in_x))
button.pack()
if _name_ == "_main_":
window =tkinter.Tk()
myapp = Calculo(window)
window.mainloop()
(这只是代码的一个片段......如果你需要整件事给我发消息,谢谢!)
答案 0 :(得分:0)
很少有评论。
首先
def _init_(self,parent):
应该是
def __init__(self,parent):
其次,正如其他人指出:
_name_ == "_main_"
应该是
__name__ == "__main__"
第三。这个按钮没有意义(特别是命令):
button = tkinter.Button(frame,text='respuesta' ,command =
(self.calcular_moduloV1, self.calcular_moduloV2,self.calcular_anguloD, self.calcular_Vel_in_y,self.calcular_Vel_in_x))
button.pack()
你想在这里实现什么?框架也没有定义。
Forth,def calcular_moduloV1(self):
身体有错误的缩进。