使“阶级”在tkinter中发挥作用

时间:2015-02-22 03:46:45

标签: python class object tkinter

我一直试图在蟒蛇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()

(这只是代码的一个片段......如果你需要整件事给我发消息,谢谢!)

1 个答案:

答案 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):身体有错误的缩进。