繁体   English   中英

谁能帮我在我的 python GUI 代码中找到错误?

[英]Can anyone help me to find mistake in my python GUI code?

def square():
    def calculate():
        global area
        global perimeter
        side = entry_variable.get()
        area = side * side
        area_variable.set(area)
        perimeter = 4 * side
        perimeter_variable.set(perimeter)
root = Tk()
root.minsize(width=400, height=400)
root.maxsize(width=400, height=400)
root.config(bg="Black")
entry_variable = IntVar()
area_variable = IntVar()
perimeter_variable = IntVar()

label1 = Label(root, text="", font=('Arial', 15, 'bold'), fg="white", bg='Black')
label1.grid()
label0 = Label(root, text="Enter the Side's measurement", font=('Arial', 15, 'bold'), fg="white", bg='Black')
label0.grid(row=1)
label00 = Label(root, text="", font=('Arial', 15, 'bold'), fg="white", bg='Black')
label00.grid(row=3)
entry1 = Entry(root, font=('Arial', 15, 'bold'), justify=RIGHT, textvariable=entry_variable, fg='black')
entry1.grid(row=2)
label2 = Label(root, text="Perimeter of the Square", font=('Arial', 15, 'bold'), fg="white", bg='Black')
label2.grid(row=5)
label3 = Label(root, text="Area of the Square", font=('Arial', 15, 'bold'), fg="white", bg='Black')
label3.grid(row=7)
entry2 = Entry(root, font=('Arial', 15, 'bold'), fg='black', justify=RIGHT, textvariable=perimeter_variable,
               state='disabled')
entry2.grid(row=6)
entry3 = Entry(root, font=('Arial', 15, 'bold'), fg='black', justify=RIGHT, textvariable=area_variable,
               state='disabled')
entry3.grid(row=8)
btn = Button(root, font=('Arial', 15, 'bold'), text='Calculate', bd=10, command=calculate)
btn.grid(row=4)

我创建了一个基本的 GUI 来计算平方面积和方法。 我在另一个 GUI 中使用它(它运行良好),我使用按钮访问它,这就是我为它创建一个函数的原因。 它不会给出任何错误,但也不会执行结果。 我是一个更大的所以我不太熟悉OOPS!

没有必要定义两个嵌套函数。 以这种方式定义一个函数:

def calculate():

    side = entry_variable.get()
    area = side * side
    area_variable.set(area)
    perimeter = 4 * side
    perimeter_variable.set(perimeter)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM