簡體   English   中英

如何從Tkinter Scale傳遞命令以運行功能

[英]How to pass command to function from Tkinter Scale

我有一個帶有多個滑塊的程序,需要為每個滑塊運行相同的功能,但需要根據已移動的滑塊運行。 如何告訴功能哪個滑塊被移動?

您可以像執行其他任何回調一樣進行操作:使用lambdafunctools.partial提供參數。

例如:

import tkinter as tk

class Example(tk.Frame):
    def __init__(self, root):

        tk.Frame.__init__(self, root)
        for scale in ("red", "green", "blue"):
            widget = tk.Scale(self, from_=0, to=255, orient="horizontal",
                              command=lambda value, name=scale: self.report_change(name, value))
            widget.pack()

    def report_change(self, name, value):
        print("%s changed to %s" % (name, value))


if __name__ == "__main__":
    root=tk.Tk()
    Example(root).pack(side="top", fill="both", expand=True)
    root.mainloop()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM