Tkinter在类中调用函数

时间:2016-03-03 15:41:02

标签: function class python-3.x tkinter

在我的新程序中,我一直显示相同的代码行,所以我决定创建一个函数,并在需要时调用它。但是我不断收到错误,告诉我"我的功能未定义"。我是Python编程的新手,我无法弄明白!

这是我的代码:

import tkinter as tk
from tkinter import ttk

class GUI(tk.Tk):
    def __init__(self):
        tk.Tk.__init__(self)

        #Window_Creation
        scr_xloc = int(self.winfo_screenwidth() / 2 - 800 / 2)
        scr_yloc = int(self.winfo_screenheight() / 2 - 600 / 2 - 30)

        self.geometry("800x600+{}+{}".format(scr_xloc, scr_yloc))
        self.minsize(width = 800, height = 600)
        ...

    def Factorial_Calculation():
        user_input = int(float(user_input))
        import math

        factorial_num = math.factorial(user_input)

        self.Output_Box.delete("1.0", "end")
        self.Output_Box.insert("1.0", str(user_input) + "! = " + str(factorial_num))

    def x_Factorial_Loop(self, event):
        global user_input
        ...

        Factorial_Calculation()

1 个答案:

答案 0 :(得分:2)

你的问题是调用Factorial_Calculation(),你应该在课堂上称它为self.Factorial_Calculation()但是在课堂之外是另一回事。添加" self."在被调用函数前面,因为它适用于您调用它的类,并从您调用它的类中提取定义。