为什么我的按钮没有工作?

时间:2013-07-27 10:23:52

标签: python python-3.x tkinter

首先我有sqrt按钮,工作正常,然后我添加了pi按钮,没有任何工作,我尝试改变一切,我仍然不知道什么是错的!请有人帮忙。

import sys
from tkinter import *
from math import *

def sqrt_():
    text = ment.get()
    a = sqrt(text)
    label['text'] = a

def pi_():
    text = ment.get()
    a = pi(text)
    label_1['text'] = a

root = Tk()
root.title('Conversions')
root.geometry('400x400')

#Get square root
sqrt_button = Button(root, text='Get Square root',command= sqrt_).place(x='160', y='5')
label = Label(root, text='')
label.place(x=5, y=30)
ment = IntVar()
entry = Entry(textvariable=ment).place(x='5', y= '10 ')
#Get Pi
pi_button = Button(root, text='Get Pi',command= pi_).place(x='160', y='50')
label_1 = Label(root, text='')
label_1.place(x=55, y=200)
ment = IntVar()
entry_1 = Entry(textvariable=ment).place(x='5', y= '55 ')


root.mainloop()

2 个答案:

答案 0 :(得分:1)

首先,您没有定义函数pi,这意味着当您单击第二个按钮时它将失败。

其次,您重新定义了ment。在这种情况下,两个条目都将绑定到同一个int。这意味着当您单击第一个按钮时,它将从第二个条目读取值。因此,将所有第二个ment更改为ment_1。名称,条目中的名称以及pi_中的名称。

import sys
from tkinter import *
from math import *

def sqrt_():
    text = ment.get()
    a = sqrt(text)
    label['text'] = a

def pi_():
    label_1['text'] = pi

root = Tk()
root.title('Conversions')
root.geometry('400x400')

#Get square root
sqrt_button = Button(root, text='Get Square root',command= sqrt_).place(x='160', y='5')
label = Label(root, text='')
label.place(x=5, y=30)
ment = IntVar()
entry = Entry(textvariable=ment).place(x='5', y= '10 ')
#Get Pi
pi_button = Button(root, text='Get Pi',command= pi_).place(x='160', y='50')
label_1 = Label(root, text='')
label_1.place(x=55, y=200)
ment_1 = IntVar()
entry_1 = Entry(textvariable=ment_1).place(x='5', y= '55 ')


root.mainloop()

答案 1 :(得分:0)

pi不是一个函数,它是一个常数所以:

def pi_():
    label_1['text'] = pi