2

列 0 がラベル、列 1 がエントリである 2 列の 4 行を表示するプログラムを作成しようとしています。次に、ボタンが左クリックされたときに、これらの 4 つの整数エントリを引数として関数に渡します。これまでの私のコードは次のとおりです。

from tkinter import *

root = Tk()


class ClassName():

     def __init__(self, master):

       self.run_button = Button(self.master, text="Button Text", bg="green", fg="black", 
                               command="HERE IS WHERE I NEED HELP")
       self.run_button.grid(row=4, columnspan=2)

       self.label1 = Label(master, text="Entry 1").grid(row=0, sticky=E)
       self.label2 = Label(master, text="Entry 2").grid(row=1, sticky=E)
       self.label3 = Label(master, text="Entry 3").grid(row=2, sticky=E)
       self.label4 = Label(master, text="Entry 4").grid(row=3, sticky=E)

       self.entry1 = Entry(master).grid(row=0, column=1, sticky=W)
       self.entry2 = Entry(master).grid(row=1, column=1, sticky=W)
       self.entry3 = Entry(master).grid(row=2, column=1, sticky=W)
       self.entry4 = Entry(master).grid(row=3, column=1, sticky=W)

次に、4 つのエントリを取得し、それらを という別の関数に渡しますthe_function。4 つのエントリのthe_function値に基づいて何かを出力するだけです。したがって、残りのコードは次のようになります。

def the_function(self, a, b, c, d):
#    Ensure a, b, c, and d are integers, 
#    do some math on the numbers and print something out based on the
#    values of a, b, c and d.

irrelevant_variable = ClassName(root)
root.mainloop()

関数は GUI がなくても適切に動作しますself.entry1athe_function.

他の投稿では、コマンドを使用する必要があると思いましたlambdaが、この関数内でこれがどのように機能するかはわかりません。

4

2 に答える 2