【发布时间】:2020-01-03 06:34:47
【问题描述】:
我有这个问题,我需要使用在这种情况下为计算的唯一按钮来显示其他函数的值。第一个函数显示,但另一个函数在使用其文本输入字段时不显示。
我尝试过复制,使用相同的代码但希望更改名称。
import tkinter as tk
from functools import partial
n_num = list(map(int, input('Enter mean numbers: ').split()))
n = len(n_num)
get_sum = sum(n_num)
mean = get_sum / n
print("Mean / Average is: " + str(mean))
def mean_result (label_mean_result,num):
n_num = list(map(int,num.get()))
n = len(n_num)
get_sum = sum(n_num)
mean = get_sum /n
label_mean_result.config(text=f"Mean Result = {mean}")
return
def median_result (label_median_result,num):
n_num = list(map(int,num.get()))
n = len(n_num)
n_num.sort()
if n % 2 == 0:
median1 = n_num[n // 2]
median2 = n_num[n // 2 - 1]
median = (median1 + median2) / 2
else:
median = n_num[n // 2]
label_median_result.config(text=f"Median Result = {median}")
#print("Median is: " + str(median))
return
root = tk.Tk()
root.geometry('400x200+100+200')
root.title('Final program')
## Mean input and output
meanInput = tk.StringVar()
labelMean = tk.Label(root, text="Mean input:").grid(row=1, column=0)
labelResult = tk.Label(root)
labelResult.grid(row=7, column=2)
entryNum1 = tk.Entry(root, textvariable=meanInput).grid(row=1, column=2)
mean_result = partial(mean_result, labelResult, meanInput)
buttonCal = tk.Button(root, text="Calculate", command=mean_result).grid(row=3, column=0)
#####
medianInput = tk.StringVar()
labelMedian = tk.Label(root, text="Median input:").grid(row=2, column=0)
labelResult2 = tk.Label(root)
labelResult2.grid(row=7, column=2)
entryNum2 = tk.Entry(root, textvariable=medianInput).grid(row=2, column=2)
median_result= partial(median_result, labelResult2, medianInput)
root.mainloop()
在这种情况下,当我使用唯一的按钮(计算)从两个函数中输入值时,我期望得到结果。因此,我很想知道如何将多个功能连接到一个按钮并显示它们的结果。例如,第一个函数显示“平均函数”结果;单击“计算”按钮时,第二个函数“中位数”未连接并显示。
【问题讨论】:
-
对不起,我对你想做什么有点困惑。您想用输入到条目小部件中的值来计算平均值和中位数吗?然后将其显示在标签中?
-
没问题的人!,是的!使用一个按钮,在这种情况下“计算”调用这两个函数并将它们一起显示到标签中。我希望这可以澄清。
标签: python user-interface button tkinter textfield