Python Tkinter用于循环,从滑块更新按钮文本
我目前正在尝试学习Tkinter中的for循环,但很难在网上找到很多信息。我希望发生的是,当滑块被更改时,与它相邻的标签内的文本将实时更新为滑块上显示的数字。下面是我当前的代码。提前谢谢你的帮助Python Tkinter用于循环,从滑块更新按钮文本,python,tkinter,Python,Tkinter,我目前正在尝试学习Tkinter中的for循环,但很难在网上找到很多信息。我希望发生的是,当滑块被更改时,与它相邻的标签内的文本将实时更新为滑块上显示的数字。下面是我当前的代码。提前谢谢你的帮助 import tkinter as tk window = tk.Tk() def get(test): for i in range (6): Btns.config (text =scale.get()) for i in range (6): Btns = tk
import tkinter as tk
window = tk.Tk()
def get(test):
for i in range (6):
Btns.config (text =scale.get())
for i in range (6):
Btns = tk.Button(window, bg = "blue", width = 5, height = 1)
Btns.grid (row = i, column = 5)
for i in range (6):
scale = tk.Scale(window, orient = "horizontal", command = get)
scale.grid (row = i, column = 6)
window.mainloop()
问题是因为所有的小部件都被覆盖了。
Btn
和scale
都是最后一个tk.Button
实例或tk.scale
实例
您可以使用列表保存这些小部件,并通过迭代获得这些值:
import tkinter as tk
window = tk.Tk()
def get(test):
for i in range(6):
Btns[i].config(text=scales[i].get())
# two list of widgets
Btns = []
scales = []
for i in range(6):
Btn = tk.Button(window, bg="blue", width=5, height=1, text=0)
Btns.append(Btn)
Btn.grid(row=i, column=5)
for i in range(6):
scale = tk.Scale(window, orient="horizontal", command=get)
scales.append(scale)
scale.grid(row=i, column=6)
window.mainloop()
问题是因为所有的小部件都被覆盖了。
Btn
和scale
都是最后一个tk.Button
实例或tk.scale
实例
您可以使用列表保存这些小部件,并通过迭代获得这些值:
import tkinter as tk
window = tk.Tk()
def get(test):
for i in range(6):
Btns[i].config(text=scales[i].get())
# two list of widgets
Btns = []
scales = []
for i in range(6):
Btn = tk.Button(window, bg="blue", width=5, height=1, text=0)
Btns.append(Btn)
Btn.grid(row=i, column=5)
for i in range(6):
scale = tk.Scale(window, orient="horizontal", command=get)
scales.append(scale)
scale.grid(row=i, column=6)
window.mainloop()
您可以使用
lambda
简化它:
将tkinter作为tk导入
window=tk.tk()
对于范围(6)中的i:
按钮(窗口,fg=“白色”,bg=“蓝色”,宽度=5,高度=1)
btn.网格(行=i,列=5)
scale=tk.scale(window,orient=“horizontal”,command=lambda v,b=btn:b.config(text=v))
比例网格(行=i,列=6)
window.mainloop()
您可以使用lambda
简化它:
将tkinter作为tk导入
window=tk.tk()
对于范围(6)中的i:
按钮(窗口,fg=“白色”,bg=“蓝色”,宽度=5,高度=1)
btn.网格(行=i,列=5)
scale=tk.scale(window,orient=“horizontal”,command=lambda v,b=btn:b.config(text=v))
比例网格(行=i,列=6)
window.mainloop()
非常感谢您非常感谢