Could you please tell me why “command” in tk.Button and in cheskbutton is triggered not when a button or checkbox is clicked, but always when a widget is created, i.e. the function is called automatically. The “one” and “print” functions are activated at once
<code>def ITC(self):
window = tk.Tk()
scrollbar_ITC = ttk.Scrollbar(window, orient="vertical")
scrollbar_ITC.grid(row=0, column=2, rowspan = len(self.df.columns), sticky='ns')
for i in range(len(self.df.columns)):
checkbutton = tk.Checkbutton (window, text = self.df.columns[i], command = self.one(i))
checkbutton.grid(row = i, column = 0)
self.time_button = tk.Button(window, text="Obtain time", width=10, command=print('SELFLST= ', self.lst_ITC))
self.reactivity_button = tk.Button(window, text="Obtain reactivity", width = 10, command=self.one)
self.temperature_button = tk.Button(window, text="Obtain temperature", width = 10, command=self.one)
self.time_button.grid(row=0, column=1, padx=15)
self.reactivity_button.grid(row=1, column=1, padx=15)
self.temperature_button.grid(row=2, column=1, padx=15)
window.mainloop()
def one(self, i):
print(i)
</code>
<code>def ITC(self):
window = tk.Tk()
scrollbar_ITC = ttk.Scrollbar(window, orient="vertical")
scrollbar_ITC.grid(row=0, column=2, rowspan = len(self.df.columns), sticky='ns')
for i in range(len(self.df.columns)):
checkbutton = tk.Checkbutton (window, text = self.df.columns[i], command = self.one(i))
checkbutton.grid(row = i, column = 0)
self.time_button = tk.Button(window, text="Obtain time", width=10, command=print('SELFLST= ', self.lst_ITC))
self.reactivity_button = tk.Button(window, text="Obtain reactivity", width = 10, command=self.one)
self.temperature_button = tk.Button(window, text="Obtain temperature", width = 10, command=self.one)
self.time_button.grid(row=0, column=1, padx=15)
self.reactivity_button.grid(row=1, column=1, padx=15)
self.temperature_button.grid(row=2, column=1, padx=15)
window.mainloop()
def one(self, i):
print(i)
</code>
def ITC(self):
window = tk.Tk()
scrollbar_ITC = ttk.Scrollbar(window, orient="vertical")
scrollbar_ITC.grid(row=0, column=2, rowspan = len(self.df.columns), sticky='ns')
for i in range(len(self.df.columns)):
checkbutton = tk.Checkbutton (window, text = self.df.columns[i], command = self.one(i))
checkbutton.grid(row = i, column = 0)
self.time_button = tk.Button(window, text="Obtain time", width=10, command=print('SELFLST= ', self.lst_ITC))
self.reactivity_button = tk.Button(window, text="Obtain reactivity", width = 10, command=self.one)
self.temperature_button = tk.Button(window, text="Obtain temperature", width = 10, command=self.one)
self.time_button.grid(row=0, column=1, padx=15)
self.reactivity_button.grid(row=1, column=1, padx=15)
self.temperature_button.grid(row=2, column=1, padx=15)
window.mainloop()
def one(self, i):
print(i)
New contributor
Слава Лебедев is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.