如何将多个文本字段输入及其功能连接到 tkinter python 中的一个按钮?

狼友

我有这个问题,我需要使用唯一的按钮来显示其他函数的值,在这种情况下是计算。使用其文本输入字段时显示第一个函数,但不显示另一个函数。

我试过复制,使用相同的代码期望更改名称。


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()

在这种情况下,当我使用唯一的按钮从两个函数输入值时,我期望结果是计算。因此,我很想知道如何将多个功能连接到一个按钮并显示它们的结果。例如,第一个函数显示“平均函数”结果,但是;单击计算按钮时,第二个函数“中值”未连接和显示。

鼻烟
import tkinter as tk
from statistics import median, mode, stdev

class Calculator(tk.Frame):
    """Calculate mean median mode and standard deviation"""
    def __init__(self, parent, *args, **kwargs):
        #setup tkinter frame
        tk.Frame.__init__(self, parent, *args, **kwargs)
        parent = parent

        self.makeWidgets()

    def makeWidgets(self):
        """make and pack various widgets"""
        self.meanLabel = tk.Label(self, text="")
        self.medianLabel = tk.Label(self, text="")
        self.modeLabel = tk.Label(self, text="")
        self.sdLabel = tk.Label(self, text="")
        self.entry = tk.Entry(self)
        self.calcuateButton = tk.Button(self, text="Calculate!", command = self.calculate)
        self.meanLabel.pack()
        self.medianLabel.pack()
        self.modeLabel.pack()
        self.sdLabel.pack()
        self.entry.pack()
        self.calcuateButton.pack()

    def calculate(self):
        self.listOfNumbers = self.entry.get()
        #get what is inputed into the entry widget
        self.listOfNumbers = self.listOfNumbers.split(' ')
        #split the input string by spaces
        for ind, i in enumerate(self.listOfNumbers):
            #convert each item in the list of strings of numbers to ints
            self.listOfNumbers[ind] = int(i)
        #calculate!
        self.calcMean()
        self.calcMedian()
        self.calcMode()
        self.calcSd()

    def calcMean(self):
        """calculate the mean"""
        mean = sum(self.listOfNumbers)/len(self.listOfNumbers)
        self.meanLabel.config(text='mean = ' + str(mean))
        return mean

    def calcMedian(self):
        """calculate the median"""
        med = median(self.listOfNumbers)
        self.medianLabel.config(text='median = ' + str(med))
        return med

    def calcMode(self):
        """calculate the mode"""

        Mode = max(set(self.listOfNumbers), key=self.listOfNumbers.count)
        self.modeLabel.config(text='mode = ' + str(Mode))
        return Mode

    def calcSd(self):
        """calculate the standard deviation"""
        sd = stdev(self.listOfNumbers)
        self.sdLabel.config(text='Standard deviation = ' + str(sd))
        return sd

if __name__ == '__main__':
    root = tk.Tk()
    root.title('calculate mean, median, mode and standard deviation')
    root.geometry('400x200')
    Calculator(root).pack(side="top", fill="both", expand=True)
    root.mainloop() 

现在这可能与您所拥有的有很大不同,但这是可扩展的,您可以根据自己的兴趣抽象事物。我只是觉得它更具可读性

您在示例中计算了中位数,只是认为使用统计模块会更清晰。Mean已经很干净了

我希望这有帮助 :)

编辑; 包括模式和 sd;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将多个按钮链接到 tkinter 中的一个文本小部件?

来自分类Dev

如何更改另一个类中单击的按钮的文本?(Python-tkinter)

来自分类Dev

Python tkinter 一个按钮的多个命令

来自分类Dev

如何使用 Python 3.6 在 tkinter 中制作一个瞬时按钮

来自分类Dev

从Tkinter中的一个按钮在一个输入框中的多个条目

来自分类Dev

我如何在 python tkinter 中不点击按钮的情况下进入另一个页面

来自分类Dev

每次在Tkinter中如何访问一个不同的按钮?

来自分类Dev

在 python tkinter 中,我想让一个按钮消失并运行一个定义

来自分类Dev

在python tkinter计算器中通过一个按钮来使按钮退格清晰

来自分类Dev

在 tkinter 中,在 python 3 中,如何让按钮执行执行诸如“def helloCallBack(a)”之类的功能的命令,并允许我给出一个?

来自分类Dev

Python2 Tkinter网格按钮,每个按钮都有一个更改其显示文本的命令

来自分类Dev

Python Tkinter:在右侧创建一个菜单按钮

来自分类Dev

如何更改 tkinter 窗口(标题栏中的一个)的“x”按钮的功能?

来自分类Dev

如何在python tkinter gui中为一个书写块添加一个区域

来自分类Dev

Python tkinter:如何确保在单击时仅创建一个子窗口,而不在每次单击按钮时创建一个新窗口?

来自分类Dev

Python tkinter:如何确保在单击时仅创建一个子窗口,而不在每次单击按钮时创建一个新窗口?

来自分类Dev

Python使用tkinter在滚动文本框中搜索下一个单词

来自分类Dev

javascript:如何将多个按钮中的值打印到一个文本字段中(一个值接一个值)?

来自分类Dev

如何通过单击具有多个框架的 tkinter 程序中的按钮将变量从一个类的 __init__ 传递到另一个类?

来自分类Dev

Tkinter:使用一个按钮在一系列标签中多次更改标签中的文本

来自分类Dev

Python Tkinter通过单击另一个按钮来替换按钮的标签和命令

来自分类Dev

如何使用python tkinter调用一个窗口到另一个窗口

来自分类Dev

如何从另一个类正确访问一个类的 StringVar() - Python - tkinter

来自分类Dev

单击一个按钮时如何仅创建一个新窗口?Tkinter

来自分类Dev

在python Tkinter中的另一个框架内

来自分类Dev

如果我在一个函数中创建了小部件,如何使用Python Tkinter在另一个函数中访问它们?

来自分类Dev

由于python tkinter中另一个网格元素的内容更新,如何阻止一个网格元素的位置发生变化?

来自分类Dev

Python - Tkinter - 如何从下拉选项中获取值并传递给另一个函数

来自分类Dev

Python-如何在一个按钮中为多个命令设置优先级?

Related 相关文章

  1. 1

    如何将多个按钮链接到 tkinter 中的一个文本小部件?

  2. 2

    如何更改另一个类中单击的按钮的文本?(Python-tkinter)

  3. 3

    Python tkinter 一个按钮的多个命令

  4. 4

    如何使用 Python 3.6 在 tkinter 中制作一个瞬时按钮

  5. 5

    从Tkinter中的一个按钮在一个输入框中的多个条目

  6. 6

    我如何在 python tkinter 中不点击按钮的情况下进入另一个页面

  7. 7

    每次在Tkinter中如何访问一个不同的按钮?

  8. 8

    在 python tkinter 中,我想让一个按钮消失并运行一个定义

  9. 9

    在python tkinter计算器中通过一个按钮来使按钮退格清晰

  10. 10

    在 tkinter 中,在 python 3 中,如何让按钮执行执行诸如“def helloCallBack(a)”之类的功能的命令,并允许我给出一个?

  11. 11

    Python2 Tkinter网格按钮,每个按钮都有一个更改其显示文本的命令

  12. 12

    Python Tkinter:在右侧创建一个菜单按钮

  13. 13

    如何更改 tkinter 窗口(标题栏中的一个)的“x”按钮的功能?

  14. 14

    如何在python tkinter gui中为一个书写块添加一个区域

  15. 15

    Python tkinter:如何确保在单击时仅创建一个子窗口,而不在每次单击按钮时创建一个新窗口?

  16. 16

    Python tkinter:如何确保在单击时仅创建一个子窗口,而不在每次单击按钮时创建一个新窗口?

  17. 17

    Python使用tkinter在滚动文本框中搜索下一个单词

  18. 18

    javascript:如何将多个按钮中的值打印到一个文本字段中(一个值接一个值)?

  19. 19

    如何通过单击具有多个框架的 tkinter 程序中的按钮将变量从一个类的 __init__ 传递到另一个类?

  20. 20

    Tkinter:使用一个按钮在一系列标签中多次更改标签中的文本

  21. 21

    Python Tkinter通过单击另一个按钮来替换按钮的标签和命令

  22. 22

    如何使用python tkinter调用一个窗口到另一个窗口

  23. 23

    如何从另一个类正确访问一个类的 StringVar() - Python - tkinter

  24. 24

    单击一个按钮时如何仅创建一个新窗口?Tkinter

  25. 25

    在python Tkinter中的另一个框架内

  26. 26

    如果我在一个函数中创建了小部件,如何使用Python Tkinter在另一个函数中访问它们?

  27. 27

    由于python tkinter中另一个网格元素的内容更新,如何阻止一个网格元素的位置发生变化?

  28. 28

    Python - Tkinter - 如何从下拉选项中获取值并传递给另一个函数

  29. 29

    Python-如何在一个按钮中为多个命令设置优先级?

热门标签

归档