【问题标题】:How can I make a Tkinter slider that scales logarithmically?如何制作对数缩放的 Tkinter 滑块?
【发布时间】:2020-04-23 06:54:07
【问题描述】:

在滑块上,值将在 0.05 到 100 之间变化(1 为中心),当用户更改滑块的位置时,它将以对数方式更新输出,如图所示:

如何以这种方式修改间隔(滑块下的标签)和输出?

【问题讨论】:

标签: python tkinter


【解决方案1】:

您可以通过为您的Scale 小部件设置command 来计算它::

import tkinter as tk

root = tk.Tk()

label = tk.Label(root, text="1.00")
label.pack()
scale = tk.Scale(root, from_=-20, to=20, tickinterval=0.1, orient="horizontal", showvalue=0)
scale.config(command=lambda e: label.config(text=f"{10**(scale.get()/10):.2f}"))
scale.pack()

root.mainloop()

【讨论】:

    猜你喜欢
    • 2022-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-06
    相关资源
    最近更新 更多